JSONPATH json解析工具的使用
发表于:2025-01-31 作者:千家信息网编辑
千家信息网最后更新 2025年01月31日,这篇文章主要介绍"JSONPATH json解析工具的使用",在日常操作中,相信很多人在JSONPATH json解析工具的使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家
千家信息网最后更新 2025年01月31日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 MapparseJson(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安全错误
数据库的锁怎样保障安全
数据库备份重点
上海国拍服务器ip
网络技术支持服务 指的什么
湖州系统软件开发培训
培训机构软件开发包就业那种
软件开发费用流程
软件开发二本专业
数据库默认值绑定是什么
rs232服务器
网络安全白帽
网络安全挖掘
车载网络技术发展现状
长岛管理系统软件开发公司
网络安全运维预算标准
服务器500t硬盘价格
数据库键盘输入获取
网络安全和数据库管理
mc用隐身恶搞服务器的人
数据库数据太多怎么降低扫描量
网络安全宣传反诈
安全的http服务器地址
小米air软件开发
数据库用id什么改密码
我的世界校园生活服务器推荐
用c 写服务器端
外交部网络安全360
idea内置数据库密码
股票价格提醒软件开发
互联网金融科技公司名单
英语网络安全计划手抄报