使用 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://codercto.com/soft/d/20971.html

矩阵计算

矩阵计算

Gene H. Golub、Charles F. Van Loan / 袁亚湘 / 人民邮电出版社 / 2009 / 89.00元

本书是国际上数值计算方面的权威著作,有“圣经”之称。被美国加州大学、斯坦福大学、华盛顿大学、芝加哥大学、中国科学院研究生院等很多世界知名学府用作相关课程的教材或主要参考书。 本书系统地介绍了矩阵计算的基本理论和方法。书中的许多算法都有现成的软件包实现,每节后还附有习题,并有注释和大量参考文献,非常有助于自学。一起来看看 《矩阵计算》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具