使用 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

社群营销实战手册

社群营销实战手册

秋叶、邻三月、秦阳 / 人民邮电出版社 / 2018-1 / 69.00元

互联网正从“物以类聚”,走向“人以群分”的时代。秋叶等人的“社群营销”,并非单纯靠社群卖东西,而是建立一种中心化的、自行运转的生态,让“同好”们形成紧密的联系,创造出海量营销机会。 《社群营销实战手册 从社群运营到社群经济》共5章内容,从社群的定位、建立、扩张、变现、运营,到社群的生命周期延长、社群运营团队的打造和管理以及社群管理工具,大量干货秘笈一应俱全,并提供丰富的运营实战案例,全面解读社群的......一起来看看 《社群营销实战手册》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

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

RGB HEX 互转工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具