欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java?從json提取數(shù)組并轉換為list的操作方法

 更新時間:2022年10月27日 10:15:32   作者:滕青山YYDS  
這篇文章主要介紹了Java?從json提取出數(shù)組并轉換為list,使用getJSONArray()獲取到jsonarray后,再將jsonArray轉換為字符串,最后將字符串解析為List列表,本文通過實例代碼給大家詳細講解,需要的朋友可以參考下

Java 從json提取數(shù)組并轉換為list

這里ret表示json字符串原文

// 解析為JSONObject 
JSONObject jsonObject = JSONObject.parseObject(ret);
// 提取出JSONArray 
JSONArray jsonArray = new JSONArray(jsonObject.getJSONObject("result").getJSONArray("org_list"));
// 將JSONArray轉為List列表
String str = JSONObject.toJSONString(jsonArray);
List<Org> list = JSONObject.parseArray(str, Org.class);

使用getJSONArray()獲取到jsonarray后,再將jsonArray轉換為字符串,最后將字符串解析為List列表。

代碼中的Org是我List列表中元素的類型。

Java單個對象和List對象轉換成Json,Json轉List

(一)使用單個對象轉換JSON對象

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.junit.Test;
 
import com.css.eshop.exception.DataAccessException;
import com.css.eshop.model.VoucherInfo;
import com.css.eshop.util.HttpClientUtil;
import com.css.eshop.util.LoadStaticReferenceTables;
 
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
 
public class TestPut {
	protected Log logger = LogFactory.getLog(this.getClass().getName());
	
	@Test
	public void getOneJson(){//測試轉換成Json,單個對象
		VoucherInfo vo1=new VoucherInfo();
		vo1.setVoucherValue(2131);vo1.setVoucherCode("小可愛的");
		JSONObject updateJsonObj = JSONObject.fromObject(vo1);//轉換成json格式
		logger.info("---轉換成json格式:---"+updateJsonObj.toString());//提取access_token節(jié)點數(shù)據(jù)
	}
}

輸出轉換后日志:

17-10-2018 17:35 INFO  TestPut:35 - ---轉換成json格式:---{"labourCost":0,"refMetalPrice":0,"voucherCoNumber":"","voucherCode":"小可愛的","voucherType":"","voucherValue":2131,"weight":0,"weightUnit":""}

(二)多個對象存到List,再轉換成JSON

	@Test
	public void getArrayList(){//測試轉換成Json,List轉換成JSONList
		List<VoucherInfo> vouchersList=new ArrayList<VoucherInfo>();
		VoucherInfo vo1=new VoucherInfo();
		VoucherInfo vo2=new VoucherInfo();
		vo1.setVoucherValue(2131);vo1.setVoucherCode("小可愛的");
		vo2.setVoucherValue(100);vo2.setVoucherCode("小可愛的222");
		vouchersList.add(vo1);vouchersList.add(vo2);
		JSONArray jsonArray = JSONArray.fromObject(vouchersList);
		logger.info("--獲取到轉換為json格式的內(nèi)容:"+jsonArray.toString());//提取access_token節(jié)點數(shù)據(jù)
		
	}

輸出日志:

17-10-2018 17:36 INFO  TestPut:47 - --獲取到轉換為json格式的內(nèi)容:[{"labourCost":0,"refMetalPrice":0,"voucherCoNumber":"","voucherCode":"小可愛的","voucherType":"","voucherValue":2131,"weight":0,"weightUnit":""},{"labourCost":0,"refMetalPrice":0,"voucherCoNumber":"","voucherCode":"小可愛的222","voucherType":"","voucherValue":100,"weight":0,"weightUnit":""}]

(三)json的list對象轉List對象

先轉jsonArray,再轉object提取數(shù)據(jù)

	@Test
	public void test1210() {
		List<VoucherInfo> vouchers=new ArrayList<VoucherInfo>();
		VoucherInfo voucherInfo1=new VoucherInfo();VoucherInfo voucherInfo2=new VoucherInfo();
		voucherInfo1.setVoucherCode("coupncdeC0000003");voucherInfo1.setVoucherType("DISC_VOUCHER");
		voucherInfo1.setVoucherCoNumber(null);voucherInfo1.setLabourCost(0.0);voucherInfo1.setWeight(0.0);
		voucherInfo1.setVoucherValue(1000.0);voucherInfo1.setRefMetalPrice(0.0);
		
		voucherInfo2.setVoucherCode("coupncdeC0000001");voucherInfo2.setVoucherType("DISC_VOUCHER");
		voucherInfo2.setVoucherCoNumber(null);voucherInfo2.setLabourCost(0.0);voucherInfo2.setWeight(0.0);
		voucherInfo2.setVoucherValue(1000.0);voucherInfo2.setRefMetalPrice(0.0);
		vouchers.add(voucherInfo1);vouchers.add(voucherInfo2);
		double ecoupon_amt=0;
		if(null != vouchers  && vouchers.size()>0){
			JSONArray vouchersListJsonArray = JSONArray.fromObject(vouchers);
			String vouchersListJson=vouchersListJsonArray.toString();
			
			System.out.println(vouchersListJson);
			if(null != vouchersListJson){
				JSONArray jsonArray1 = JSONArray.fromObject(vouchersListJson);
				//循環(huán)獲取json數(shù)組中的 json 對象,然后轉換為 object
		        for (int j = 0; j < jsonArray1.size(); j++) {  
		            JSONObject jsonObject2 = jsonArray1.getJSONObject(j);  
		            VoucherInfo cust = (VoucherInfo) JSONObject.toBean(jsonObject2, VoucherInfo.class);  
		            ecoupon_amt=ecoupon_amt+cust.getVoucherValue();
		        }  
			}
		}
		System.out.println(ecoupon_amt);
	}

到此這篇關于Java 從json提取出數(shù)組并轉換為list的文章就介紹到這了,更多相關java json提取數(shù)組轉換為list內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • mybatis返回類型map時如何將key大寫轉為小寫

    mybatis返回類型map時如何將key大寫轉為小寫

    這篇文章主要介紹了mybatis返回類型map時實現(xiàn)將key大寫轉為小寫操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Netty分布式ByteBuf的分類方式源碼解析

    Netty分布式ByteBuf的分類方式源碼解析

    這篇文章主要為大家介紹了Netty分布式ByteBuf的分類方式源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-03-03
  • 深入淺出重構Mybatis與Spring集成的SqlSessionFactoryBean(上)

    深入淺出重構Mybatis與Spring集成的SqlSessionFactoryBean(上)

    通常來講,重構是指不改變功能的情況下優(yōu)化代碼,但本文所說的重構也包括了添加功能。這篇文章主要介紹了重構Mybatis與Spring集成的SqlSessionFactoryBean(上)的相關資料,需要的朋友可以參考下
    2016-11-11
  • 詳解Spring Boot配置排序依賴技巧

    詳解Spring Boot配置排序依賴技巧

    本篇文章主要介紹了Spring Boot配置排序依賴技巧,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Java利用Jackson輕松處理JSON序列化與反序列化

    Java利用Jackson輕松處理JSON序列化與反序列化

    Jackson?是?Java?中最流行的?JSON?處理庫之一,它提供了許多注解來簡化?JSON?的序列化和反序列化過程。這篇文章將介紹一些?Jackson?常用的注解,以幫助您更輕松地處理?JSON?數(shù)據(jù)
    2023-05-05
  • elasticsearch索引index之put?mapping的設置分析

    elasticsearch索引index之put?mapping的設置分析

    這篇文章主要為大家介紹了elasticsearch索引index之put?mapping的設置分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-04-04
  • springboot 監(jiān)控管理模塊搭建的方法

    springboot 監(jiān)控管理模塊搭建的方法

    本篇文章主要介紹了springboot 監(jiān)控管理模塊搭建的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • idea沒有services窗口、沒有springboot啟動項問題

    idea沒有services窗口、沒有springboot啟動項問題

    這篇文章主要介紹了idea沒有services窗口、沒有springboot啟動項問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-05-05
  • Spring sentinel哨兵模式相關原理解析

    Spring sentinel哨兵模式相關原理解析

    這篇文章主要介紹了Spring sentinel哨兵模式相關原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • 深入淺析JDK8新特性之Lambda表達式

    深入淺析JDK8新特性之Lambda表達式

    Lambda表達式主要是替換了原有匿名內(nèi)部類的寫法,也就是簡化了匿名內(nèi)部類的寫法。這篇文章主要介紹了JDK8新特性之Lambda表達式,非常不錯感興趣的朋友參考下吧
    2016-10-10

最新評論