- 授权协议: MIT
- 开发语言: Java
- 操作系统: 跨平台
- 软件首页: https://gitee.com/Kagura/JSONQuery
- 软件文档: https://gitee.com/Kagura/JSONQuery/blob/master/README.md
软件介绍
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);
}
图论算法理论、实现及应用
王桂平//王衍//任嘉辰 / 北京大学 / 2011-1 / 54.00元
《图论算法理论、实现及应用》系统地介绍了图论算法理论,并选取经典的ACM/ICPC竞赛题目为例题阐述图论算法思想,侧重于图论算法的程序实现及应用。《图论算法理论、实现及应用》第1章介绍图的基本概念和图的两种存储表示方法:邻接矩阵和邻接表,第2~9章分别讨论图的遍历与活动网络问题,树与图的生成树,最短路径问题,可行遍性问题,网络流问题,支配集、覆盖集、独立集与匹配,图的连通性问题,平面图及图的着色问......一起来看看 《图论算法理论、实现及应用》 这本书的介绍吧!
