JSONPATH json解析工具的使用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"JSONPATH json解析工具的使用",在日常操作中,相信很多人在JSONPATH json解析工具的使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
软件开发功能点如何计算
电脑出现服务器正在远行中
学生会网络技术部是干什么的
天津激光套料软件开发商
国外服务器羊毛
dns根服务器中国境内有
网络安全 南京
全国服务器lol
河北日报网络安全小组
大理计算机网络技术专业大专学校
软件开发需求分级
绍兴市飞普网络技术有限公司
落实网络安全责任制情况汇报
小程序转成链接需要挂在服务器吗
互联网十五大科技趋势
软件开发最新技术和框架教程
吉林网络技术服务咨询报价
数据库数据保存在哪里
古代战争天启区是哪个服务器
虚拟币量化跟单软件开发
switch网络服务器没有响应
如何管理dns服务器
专家大咖把脉网络技术安全
南京运营网络技术咨询热线
我的职业理想软件开发
CFPS数据库什么时候更新
私有云服务器时间同步
互联网科技的市场风险
银联金融互联网科技佛山
自组织网络技术百度文库