Json对象转化为list

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Json对象转化为list相关的知识,希望对你有一定的参考价值。


"response":
"totalResults": 3,
"trades":
"trade": [

"orders":
"order": [

"discountFee": "0.0",
"divideOrderFee": "38.0",
"num": 1,
"numIid": 30069090,
"outerSkuId": "2A1001",
"partMjzDiscount": "0.0",
"payment": "38.0",
"picPath": "http://d6.yihaodianimg.com/V00/M0B/BE/AD/CgQDsFP0VauAb6nRAAGr6xLSkcY37200.jpg",
"price": "38.0",
"skuId": "30069090",
"title": "自然堂 水润保湿洗颜霜 100g 洗面奶不紧绷",
"totalFee": "38.0",
"productDeposit": 0

]
,
"buyerNick": "2088202414687921@alipay",
"consignTime": "2014-08-31 10:33:37",
,...
...


]



json对象前面多了一段
"response":
"totalResults": 3,
"trades":
"trade":
用net.sf.json解析出错 必须以[开始

参考技术A

你需要跳转到trade字段,才能直接读取里面的内容,同理,读取什么内容,就要跳到该内容的字段去。

//先把所有的返回数据都变成Json的对象。data就是返回数据的字符串。
JSONObject jsonObject = JSONObject.fromObject(data);
//然后再获取里面的字段,
String tradesStr = jsonObject.getString("trades");
//跳往trade字段,先将上面的tradesStr字符串变成Json对象。
jsonObject = JSONObject.fromObject(tradesStr);
String tradeStr = jsonObject.getString(trade);
//把tradeStr变成Json对象,就可以利用getString方法获取里面的字符串数据了。
jsonObject = JSONObject.fromObject(tradeStr);
String discountFee = jsonObject.getString(discountFee);

我解析Json数据的时候,就是采取这样的方法,很有效。

参考技术B myRule = JSON.toJSONString(lists); 这样都转为json格式,在页面再通过val转为之前格式。追问

没有页面,纯java代码

参考技术C

建议使用Gson应用.

List<String> list = new ArrayList<>();
        list.add("111111111");
        list.add("222222222");
        list.add("333333333");
        String s = new Gson().toJson(list);
        System.out.println(s);
        list = new ArrayList<>();
        list = new Gson().fromJson(s, List.class);
        for (int i = 0; i < list.size(); i++) 
            System.out.println(list.get(i));
        

以上是关于Json对象转化为list的主要内容,如果未能解决你的问题,请参考以下文章

如何把js字符串转化为对象?

JSON转化为对象

js里怎么把对象转化为json数据

json对象和java对象的互相转化

JSONObject.toBean怎么转化带有Timestamp类型的对象

JSON数组对象和JSON字符串的转化,map和JSON对象之间的转化