JSONPATH json解析工具的使用
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍"JSONPATH json解析工具的使用",在日常操作中,相信很多人在JSONPATH json解析工具的使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2026年11月01日JSONPATH json解析工具的使用
这篇文章主要介绍"JSONPATH json解析工具的使用",在日常操作中,相信很多人在JSONPATH json解析工具的使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"JSONPATH json解析工具的使用"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
1、jsonPath的在github上的网址如下:https://github.com/json-path/JsonPath
2、json-path 快速入门
一、json-path中的操作符
二、json-path中可以使用的函数
三、过滤操作符
3、maven依赖
com.jayway.jsonpath json-path 2.4.0
4、util 代码
package com.ysma.ppt.util.resource;import com.jayway.jsonpath.*;import com.jayway.jsonpath.spi.json.JsonSmartJsonProvider;import com.ysma.ppt.intf.pojo.TemplateDO;import org.springframework.cglib.beans.BeanMap;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.stream.Collectors;/** * @author ysma 2019-09-25 * JsonPath工具类 * JsonPath表达式可以使用点表示法:$.store.book[0].title * 或括号表示法:$['store']['book'][0]['title'] * * real_param_response表path字段存储格式仿点表示法,如store.book[1].isbn */public class JsonPathUtil { //JsonPath中的"根成员对象"始终称为$,无论是对象还是数组 private static final String ROOT_PREFIX = "$"; private static Configuration configuration; static { configuration = Configuration.builder().options( Option.DEFAULT_PATH_LEAF_TO_NULL, // 如果路径不存在则返回null,而不要抛出PathNotFoundException Option.SUPPRESS_EXCEPTIONS // 抑制异常的抛出,当设置了Option.ALWAYS_RETURN_LIST时返回[],否则返回null ).jsonProvider(new JsonSmartJsonProvider()).build(); } /** * 解析类 * @param resJsonStr 待解析的返参对象 * @param expectList 定义的预期结果集合 * @return 结果集 */ public static Map parseJson(String resJsonStr, List expectList){ /*1.此处预先解析json,默认请情下JsonPath.read方法每掉一次都会重新解析json,此处预先解析好就不用每次都进行解析*/ DocumentContext context = JsonPath.parse(resJsonStr, configuration); //2.构造返回结果 Map resultMap = new HashMap<>(); expectList.forEach(beanMap -> { String path = String.join(".", ROOT_PREFIX, (String)beanMap.get("path")); //beanMap.get("dataType") 数据类型的作用弱化了 Object val = context.read(path); resultMap.put((String)beanMap.get("code"), val); }); return resultMap; } /**groovy脚本中可使用此定制开发*/ public static Map parsePathJson(String resJsonStr, List 5、官网中说明了 过滤器的具体使用规则,为具体研发提供了很大的自由度和帮助
如testParse方法中Criteria的使用就是基于store.bicycle[?] 语义才可以继续的。多一步少一步都不行
参考:
https://blog.csdn.net/fu_huo_1993/article/details/88350147 给出了jsonpath的地址和api简图,非常好
https://www.baeldung.com/guide-to-jayway-jsonpath 给出了官网中对应的定义 非常好
到此,关于"JSONPATH json解析工具的使用"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
工具
方法
结果
学习
对象
表示法
帮助
不用
作用
地址
操作符
数据
更多
类型
过滤器
不行
实用
很大
自由
接下来
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
湖北九亚互联网络科技有限公司
科技服务与互联网
嘟嘟瓜互联网科技
中国互联网科技发展
唐信互联网科技
美国互联网黑科技
万达互联网科技
太原新华互联网科技学校怎么样
海南科技产业互联网平台
互联网对科技的发展
晓花互联网科技有限公司网址
互联网行业科技股
高科技互联网发展前景如何
科技互联网的核心竞争力
广州千川互联网科技有限公司
郑州欣桑互联网科技有限公司
扫呗互联网科技有限公司
互联网科技手机排行榜
艺电能源互联网科技有限公司招聘
张家口科技产业互联网平台
广州万易互联网科技有限公司
重庆互联网络科技
互联网科技logo设计
撒么互联网科技公司
安控科技rtu产品工业互联网
顶级互联网科技成果有哪些
互联网媒体平台算高科技产业
互联网第三次科技革命特征
互联网科技接地气
互联网科技品牌