net.sf.json和com.alibaba.fastjson两种json加工类的相关使用方法
com.alibaba.fastjson
Fastjson是一个Java语言编写的高性能功能完善的JSON库。它采用一种“假定有序快速匹配”的算法,把JSON Parse的性能提升到极致,是目前Java语言中最快的JSON库。Fastjson接口简单易用,已经被广泛使用在缓存序列化、协议交互、Web输出、Android客户端等多种应用场景
maven依赖:
<!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> <version>1.2.54</version><!-- 版本可以自己选,也可以不定义 -->
</dependency>
net.sf.json
maven依赖:
<dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier><!--注意jdk版本号一定要加:关系到两个jdk版本的实现json-lib-2.1-jdk13.jar和json-lib-2.1-jdk15.jar--> </dependency>
1、json字符串转换成JSONObject,然后获取里面对应的内容
在代码里面我们有一个方法给我们返回一个String result ,result 内容如下:
{ "retCode": 1, "retMsg": "成功", "chunks": [ { "retCode": -23 }, { "retCode": 1, "dist": "0100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?????0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?????0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000?????" }, { "retCode": -23 }], "extra": { "oper": "test", "outletsCode": "402880e95d0da971015d0dbaaac00008" } }
java代码如下:
此时我们的需求是要获取chunks里面的内容然后遍历取值,从上图可以看出chunks在转换之后的类型是JSONArray所以我们的获取方法如下:
JSONArray chunks=jsonObjectResult.getJSONArray("chunks");
由于是数组,所以我们就可以进行遍历取值了: