fastJson解析动态key

                                                                                    fastJson解析动态key

{
	"2018年10月25日": [{
		"note": "第1条",
		"date": "2018年10月25日",
		"time": "10:00:00"
	}],
	"2018年10月26日": [{
		"note": "第2条",
		"date": "2018年10月26日",
		"time": "12:00:00"
	}]
}

这段Json数据,日期动态增加。

使用fastJson解析

// 使用JSONObject处理
JSONObject jsonObject = JSON.parseObject(s);
// 放到Set集合中
Set<String> keySet = jsonObject.keySet();
// 使用Iterator迭代器
Iterator iterator = keySet.iterator();
// Json数据2层,使用嵌套List
List<List<ControlLogInfo>> lists = new ArrayList<>();
// 检查序列中是否还有元素
while (iterator.hasNext()) {
    String key = (String) iterator.next();
    List objectList = (List) jsonObject.get(key);
    List<ControlLogInfo> controlLogInfoList = new ArrayList<>();
    Gson gson = new Gson();
// 遍历数据
    for (Object o : objectList) {
        String jsonStr = gson.toJson(o);
        ControlLogInfo controlLogInfo = gson.fromJson(jsonStr, ControlLogInfo.class);
        controlLogInfoList.add(controlLogInfo);
    }
    lists.add(controlLogInfoList);
}

// 数据2层,使用双重for循环
for (List<ControlLogInfo> list : lists) {
    for (ControlLogInfo controlLogInfo : list) {
	// 处理显示
    }
}

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值