JSONQuery 使用 Gson 解析 JSON开源项目

我要开发同款
匿名用户2018年01月17日
242阅读

技术信息

开源地址
https://gitee.com/Kagura/JSONQuery
授权协议
MIT

作品详情

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

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

Example:

@Testpublic void Test() throws TypeNotMismatchExceptio, FieldNotExistExceptio {    Strig jso = "" +            "{\" +            "  \"erro\": 0,\" +            "  \"errmsg\": 成功,\" +            "  \"user\": \"{\\\"user_id\\\":643361255,\\\"user_ame\\\":\\\"鹞之神乐\\\",\\\"user_sex\\\":1,\\\"user_status\\\":1}\",\" +            "  \"commet_ifo\": [\" +            "    {\" +            "      \"tid\": \"5504460056\",\" +            "      \"pid\": \"116776960983\",\" +            "      \"cid\": \"116857893053\"\" +            "    },\" +            "    {\" +            "      \"tid\": \"5504460056\",\" +            "      \"pid\": \"116776960983\",\" +            "      \"cid\": \"116858057626\"\" +            "    },\" +            "    {\" +            "      \"tid\": \"5504460056\",\" +            "      \"pid\": \"116776960983\",\" +            "      \"cid\": \"116880757453\"\" +            "    }\" +            "  ],\" +            "  \"data\": {\" +            "    \"commet_list\": {\" +            "      \"116776891765\": {\" +            "        \"commet_um\": 3,\" +            "        \"commet_list_um\": 4\" +            "      },\" +            "      \"116776960983\": {\" +            "        \"commet_um\": 4,\" +            "        \"commet_list_um\": 4\" +            "      }\" +            "    }\" +            "  }\" +            "}";    //获取根元素erro    JsoResult jsoResult = JSONQuery.select(jso, "erro");    //获取根元素erro,并转换为it    it erro = jsoResult.getAsIt();    //获取根元素data中的commet_list    jsoResult = JSONQuery.select(jso, "data > commet_list");    //正则过滤出属性数组,针对一部分拿对象当数组用的情况    jsoResult = JSONQuery.select(jso, "data > commet_list > [\\d+]");    //获取数组指定位置的元素    jsoResult = JSONQuery.select(jso, "commet_ifo > [2]");    //获取数组指定位置的元素 负数坐标    jsoResult = JSONQuery.select(jso, "commet_ifo > [-1]");    //针对某个字符串属性的值又是个jso字符串的情况    jsoResult = JSONQuery.select(jso, "user > user_ame");    //jsoResult作为参数替代jso字符串    JsoResult data = JSONQuery.select(jso, "data");    jsoResult = JSONQuery.select(data, "commet_list");    //将jso字符串转换为JsoResult    jsoResult = JSONQuery.select(jso, "");    jsoResult = JSONQuery.select(jso, ull);    // v0.2.5新增    //将选择结果反序列化为普通对象    Post post = JSONQuery.select(jso, "commet_ifo > [2]", Post.class);    //将选择结果反序列化为普通对象数组    Post[] postArray = JSONQuery.select(jso, "commet_ifo", Post[].class);    //将选择结果反射为泛型类型ListType type = ew TypeToke>() {}.getType();    ListpostList = JSONQuery.select(jso, "commet_ifo", type);}

功能介绍

JSONQuery —— 更简单的使用 Gson 解析 JSON 解析一个字段只需一行代码,最多两行,支持不带双引号的非标准JSON Example: @Test
public void Tes...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论