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

图论算法理论、实现及应用

图论算法理论、实现及应用

王桂平//王衍//任嘉辰 / 北京大学 / 2011-1 / 54.00元

《图论算法理论、实现及应用》系统地介绍了图论算法理论,并选取经典的ACM/ICPC竞赛题目为例题阐述图论算法思想,侧重于图论算法的程序实现及应用。《图论算法理论、实现及应用》第1章介绍图的基本概念和图的两种存储表示方法:邻接矩阵和邻接表,第2~9章分别讨论图的遍历与活动网络问题,树与图的生成树,最短路径问题,可行遍性问题,网络流问题,支配集、覆盖集、独立集与匹配,图的连通性问题,平面图及图的着色问......一起来看看 《图论算法理论、实现及应用》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

html转js在线工具
html转js在线工具

html转js在线工具