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");

由于是数组,所以我们就可以进行遍历取值了:

原文地址:https://www.cnblogs.com/luzhanshi/p/10910627.html