利用Fastjson取复杂JSON某个值

Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景。

对与复杂的JSON串,可引入Fastjson,他其实就是对josn进行了一些封装,让我们更好的处理json数据,

复杂json串就像树枝一样,一条枝干里有其他枝干,其他枝干里的一条枝干又有其他其他调枝干。。。

但是每条枝干都会有一个节,在json串里就是“:”前面的名字了,所以只要把握了这个就很简单了,

直接JSONObject data0 = JSONObject.parseObject(data.getString("data0"));

data就是复杂的json串,data0就是这个json串下一级的某个节,直接.get("data0"),找到这个节,在.toString(),合在一起写也就是.getString("data0");这样就找到了data0这个稍微简单点的json串了;

然后继续往下面找JSONObject data1 = JSONObject.parseObject(data0 .getString("data2"));

直到到了需要获取某个值得json了,则需要把对象转换为数组对象了;

JSONArray data2= JSONArray.parseArray(data.getString("data1 "));

取这个数组对象里对象(比如这个值在第一个对象里)

JSONObject param= data2.getJSONObject(1);

这所需要的值就在param这个json串里了,这个就是最简单的json串,格式像这样:

利用Fastjson取复杂JSON某个值_第1张图片

这样需要什么值就直接JSONObject conditionDay= JSONObject.parseObject(param.getString("conditionDay"));

此时conditionDay就是 雷阵雨

你可能感兴趣的:(Java随笔)