使用 Gson 解析 JSON JSONQuery

码农软件 · 软件分类 · 语法解析工具 · 2019-12-12 09:41:51

软件介绍

JSONQuery —— 更简单的使用 Gson 解析 JSON

解析一个字段只需一行代码,最多两行,支持不带双引号的非标准JSON

Example:

@Test
public void Test() throws TypeNotMismatchException, FieldNotExistException {
    String json = "" +
            "{\n" +
            "  \"errno\": 0,\n" +
            "  \"errmsg\": 成功,\n" +
            "  \"user\": \"{\\\"user_id\\\":643361255,\\\"user_name\\\":\\\"鹞之神乐\\\",\\\"user_sex\\\":1,\\\"user_status\\\":1}\",\n" +
            "  \"comment_info\": [\n" +
            "    {\n" +
            "      \"tid\": \"5504460056\",\n" +
            "      \"pid\": \"116776960983\",\n" +
            "      \"cid\": \"116857893053\"\n" +
            "    },\n" +
            "    {\n" +
            "      \"tid\": \"5504460056\",\n" +
            "      \"pid\": \"116776960983\",\n" +
            "      \"cid\": \"116858057626\"\n" +
            "    },\n" +
            "    {\n" +
            "      \"tid\": \"5504460056\",\n" +
            "      \"pid\": \"116776960983\",\n" +
            "      \"cid\": \"116880757453\"\n" +
            "    }\n" +
            "  ],\n" +
            "  \"data\": {\n" +
            "    \"comment_list\": {\n" +
            "      \"116776891765\": {\n" +
            "        \"comment_num\": 3,\n" +
            "        \"comment_list_num\": 4\n" +
            "      },\n" +
            "      \"116776960983\": {\n" +
            "        \"comment_num\": 4,\n" +
            "        \"comment_list_num\": 4\n" +
            "      }\n" +
            "    }\n" +
            "  }\n" +
            "}";

    //获取根元素errno
    JsonResult jsonResult = JSONQuery.select(json, "errno");
    //获取根元素errno,并转换为int
    int errno = jsonResult.getAsInt();
    //获取根元素data中的comment_list
    jsonResult = JSONQuery.select(json, "data > comment_list");
    //正则过滤出属性数组,针对一部分拿对象当数组用的情况
    jsonResult = JSONQuery.select(json, "data > comment_list > [\\d+]");
    //获取数组指定位置的元素
    jsonResult = JSONQuery.select(json, "comment_info > [2]");
    //获取数组指定位置的元素 负数坐标
    jsonResult = JSONQuery.select(json, "comment_info > [-1]");
    //针对某个字符串属性的值又是个json字符串的情况
    jsonResult = JSONQuery.select(json, "user > user_name");
    //jsonResult作为参数替代json字符串
    JsonResult data = JSONQuery.select(json, "data");
    jsonResult = JSONQuery.select(data, "comment_list");
    //将json字符串转换为JsonResult
    jsonResult = JSONQuery.select(json, "");
    jsonResult = JSONQuery.select(json, null);

    // v0.2.5新增
    //将选择结果反序列化为普通对象
    Post post = JSONQuery.select(json, "comment_info > [2]", Post.class);
    //将选择结果反序列化为普通对象数组
    Post[] postArray = JSONQuery.select(json, "comment_info", Post[].class);
    //将选择结果反射为泛型类型ListType type = new TypeToken>() {}.getType();
    ListpostList = JSONQuery.select(json, "comment_info", type);

}

本文地址:https://www.codercto.com/soft/d/20971.html

数据之美

数据之美

邱南森 (Nathan Yau) / 张伸 / 中国人民大学出版社 / 2014-2-1 / CNY 89.00

这是一本教我们如何制作完美可视化图表,挖掘大数据背后意义的书。作者认为,可视化是一种媒介,向我们揭示了数据背后的故事。他循序渐进、深入浅出地道出了数据可视化的步骤和思想。本书让我们知道了如何理解数据可视化,如何探索数据的模式和寻找数据间的关联,如何选择适合自己的数据和目的的可视化方式,有哪些我们可以利用的可视化工具以及这些工具各有怎样的利弊。 作者给我们提供了丰富的可视化信息以及查看、探索数......一起来看看 《数据之美》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具