美文网首页
三个json框架数据提取

三个json框架数据提取

作者: Hope_wing | 来源:发表于2018-06-19 00:33 被阅读0次

1、fastjson

需要引用的包

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.47</version>
</dependency>

代码示例:

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import java.util.LinkedHashMap;

public class JsonPathTest {
    public static void main(String[] args) {

        String json ="{\"msg\":\"登录成功\",\"uid\":\"E2BBEDC09FAA1232B8D85C96DF4444CF\",\"code\":\"1\"}";
        JSONObject object = (JSONObject) JSON.parse(json);
        Object code= object.get("code");
        //json直接转map
        Map map2 = (Map) JSON.parseObject(json, LinkedHashMap.class);
        System.out.println(map2.getClass() +" map2 " +map2);
    }
}

这种方式转换,特点:简单明了,但是对于部分特殊字符无法转换(比如html标签+文件特殊符号),还有个特点:他是直接转换的,而不是逐层转换。

2、jackson(Mapper)

需要引用的包

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.5</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.5</version>
</dependency>

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.5</version>
</dependency>

代码示例:

import java.util.Map;
import java.util.TreeMap;
import com.fasterxml.jackson.databind.ObjectMapper;

public class JsonPathTest {
    public static void main(String[] args) {
        String json ="{\"msg\":\"登录成功\",\"uid\":\"E2BBEDC09FAA1232B8D85C96DF4444CF\",\"code\":\"1\"}";
ObjectMapper mapper = new ObjectMapper();  
        try {
            Map map= mapper.readValue(json, TreeMap.class);
            System.out.println(map.getClass() +" map1 " +map);
            code= map.get("code");
            } catch (IOException e) {
            e.printStackTrace();
            }
    }
}

这种方式转换json,<font color="#dd0000">特点是兼容性高,对于部分特殊字符也能转换成功</font>。 而且转换的时候是逐级转换。

3、JsonPath

需要引用的包

<dependency>
    <groupId>com.jayway.jsonpath</groupId>
    <artifactId>json-path</artifactId>
    <version>2.4.0</version>
</dependency>

代码示例:

import com.jayway.jsonpath.JsonPath;

public class JsonPathTest {
    public static void main(String[] args) {
        String json ="{\"msg\":\"登录成功\",\"uid\":\"E2BBEDC09FAA1232B8D85C96DF4444CF\",\"code\":\"1\"}";
        JSONObject object = (JSONObject) JSON.parse(json);
        Object code= object.get("code");
        //取code值,用"$.code"(通用写法)
        code= JsonPath.read(json2, "$.code");
        System.out.println(code.getClass() +"  "  +code);
    }
}

JsonPath是从JSON文档中抽取指定的信息的工具。这种方式结构清晰,可读性高,复杂度低,非常容易匹配。

相关文章

  • 三个json框架数据提取

    1、fastjson 需要引用的包 代码示例: 这种方式转换,特点:简单明了,但是对于部分特殊字符无法转换(比如h...

  • JMeter基础系列(十) JMeter关联之JSON提取器Js

    10.1 JSON提取器 若响应数据格式为JSON,也可以用JSON提取器来提取需要关联的数据。 配置项 Appl...

  • JMeter关联之JSON提取器

    1、JSON提取器 若响应数据格式为JSON,也可以用JSON提取器来提取需要关联的数据。 ▲ 配置项 Apply...

  • 1.1postman常用函数

    随机数 案例 提取响应数据(提取json格式的数据) 断言响应信息 案例

  • Jmeter三种数据提取器

    边界值提取器,输入左右边界,自动匹配 若返回数据为Json格式的话,使用json提取器比较便捷;

  • jmeter中遇到的小问题

    1.json 提取例1:数据格式: 提取userId对应的sessionUserTrackingId的对应提取方式...

  • VBA将Json数据提取到Excel

    Json常用来存储数据,使用ScriptControl对象方法将Json数据提取到Excel中。 代码如下: Su...

  • 数据提取之JSON

    数据提取 什么是数据提取? 简单的来说,数据提取就是从响应中获取我们想要的数据的过程 数据分类 非结构化的数据:h...

  • 2018-09-03 Day11-作业

    最下方附上data.json文件内容 提取data.json中的数据,将每条数据中的name、text、love和...

  • jmeter json提取器和正则表达式提取器

    案例:http请求响应数据;需要提取id,token以便后续使用 1、json提取器使用 Names of cre...

网友评论

      本文标题:三个json框架数据提取

      本文链接:https://www.haomeiwen.com/subject/kjyoeftx.html