JSON解析

JSON是一种轻量级的数据交换格式,支持的类型有字符串、数字、对象、数组等。
花括号({})保存对象,方括号([])保存数组。
使用jar包,https://mvnrepository.com/artifact/com.alibaba/fastjson
json解析大概分为两种
1、创建实体类解析
2、json字符串转换为json数组解析
{
“data”: {
“label_type”: 0,
“list”: [
{
“bill_id”: “2114253005”,
“cmt_id”: 432367799,
“cmt_type”: 0,
“consume”: 1,
“content”: “环境好,服务态度好,炎热的夏日,舒适的一杯咖啡。\n有机会会经常来。”,
“content_length”: 33,
“create_time”: “2017-07-22 01:48:41”,
“first”: 0
},
{
“bill_id”: “2107749428”,
“cmt_id”: 432048492,
“cmt_type”: 0,
“consume”: 1,
“content”: “团购划算,希望团购继续。咖啡不错,就是音乐声音大了点。”,
“content_length”: 27,
“create_time”: “2017-07-12 03:45:23”,
“first”: 0,
“uid”: 4081481619,
“update_time”: “2017-07-12 03:45:23”
}
],
“logInfoExt”: [],
“login_id”: “”,
“pageNum”: 4,
“sampleHit”: 0,
“total”: 39
},
“errno”: 0,
“msg”: “success”,
“totalPage”: 39
}
1、最外面是一个JSONObject,因为是花括号,所以先解析为JSONObject
JSONObject jsonObj = JSON.parseObject(text);
2、获取data的值
String dataStr= jsonObj.getString(“data”);
data是JSONObject类型,里面包含的子元素有abel_type、list、logInfoExt、login_id、pageNum、sampleHit、total元素,这里只解析list。
3、因为list在data中,又因为data是JSONObject类型,先将data转换为JSONObject类型,再获取list元素
JSONObject jsonObject = JSON.parseObject(dataStr);
JSONArray arr = jsonObject.getJSONArray(“list”);
4、可以看到 list中包含两个子元素
for (int i = 0; i < arr.size(); i++) {
获取第一个子元素
String listStr= arr.getString(i);
再将该元素转换为JSONObject
JSONObject firstObj = JSON.parseObject(listStr);
获取JSONObject中值
String s = firstObj.get(“bill_id”).toString();
}
最终的代码:
JSONObject jsonObj = JSON.parseObject(text);
System.out.println(jsonObj);
String dataStr = jsonObj.getString(“data”);
JSONObject jsonObject = JSON.parseObject(dataStr);
JSONArray arr = jsonObject.getJSONArray(“list”);
for (int i = 0; i < arr.size(); i++) {
String listStr= arr.getString(i);
JSONObject firstObj = JSON.parseObject(listStr);
String s = firstObj.get(“bill_id”).toString();
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值