博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java解析复杂json
阅读量:6892 次
发布时间:2019-06-27

本文共 938 字,大约阅读时间需要 3 分钟。

hot3.png

假设有如下的json:

String returnResult=[{"ip":"1.28.145.70","res":["{\"type\":\"Amount of degraded disk in raid\",\"metric\":\"IQiyi.Raid.Degraded[1]\",\"value\":\"0.0\",\"lasttime\":\"1456470979\"}"]}]
这个JSON字符串如何解析?

分析:

   方案一:解析为map

       1、首先想到的方案是在不构建bean的情况下进行解析。由于这个字符串比较复杂,可以分几步来解析,首先将其解析为一个list。如下所示:

List
> mapList =JSON.parseObject(returnResult,new TypeReference
>>(){});
       2、然后取出复杂的json继续解析:这里要注意下这个json,这个json是没有问题的,\在这里是将res的value转化为了一个字符串。
List
mapList2 = (List
)mapList.get(0).get("res");
       3、然后取出字符串继续解析:
mapList2.get(0) = 
{"type":"Available memory","metric":"vm.memory.size[available]","value":"5318086656.0","lasttime":"1456472491"}
Map
map =JSON.parseObject(mapList2.get(0),new TypeReference
>(){});

      4、解析结束,对map取值即可。

   方案二:(不建议使用)自己定义bean,然后bean中的参数按照json的结构来定义。

转载于:https://my.oschina.net/weiweiblog/blog/624882

你可能感兴趣的文章
C#中DataTable中的Compute方法使用收集
查看>>
每天一道算法题(8)——把二元查找树转变成排序的双向链表
查看>>
Servlet使用注解标注监听器(Listener)
查看>>
[LeetCode] Ugly Number
查看>>
MacBook Touch Bar 使用技巧
查看>>
Python——特殊属性与方法
查看>>
Python pip 报错
查看>>
POJ2187:Beauty Contest——题解
查看>>
[BZOJ4404] [Neerc2015]Binary vs Decimal(BFS)
查看>>
es 剩余磁盘空间达到es最小值,添加数据被block
查看>>
第29件事 评估需求的8种方法
查看>>
安卓工程简介
查看>>
python基础===python内置函数大全
查看>>
Django form组件 与 cookie/session
查看>>
Java(Java SE7) 体系结构图
查看>>
安装多个版本的unity
查看>>
Unity 脚本的未来发展
查看>>
给vs2010安装上cocos2d-x的模版
查看>>
ffmpeg-20160908[09,10,13,15,19,21,22,24]-bin.7z
查看>>
【java】java处理随机浮点数(小数点后两位)用RMB的大写数值规则输出
查看>>