背景
项目中有一个JSON字符串,需要在JSON串中搜索指定的数据。
既然以前XML中可以使用XPath定位查找元素,那么同理,会不会有人写一个JsonPath呢?果不其然,有的。
解决
添加JsonPath依赖
依赖已经在Maven中央仓库中了:
<!-- TODO 版本号定义到根目录 -->
<dependency>
<groupId>com.jayway.jsonpath</groupId>
<artifactId>json-path</artifactId>
<version>2.4.0</version>
</dependency>真实案例
在一个很长的JSON串中,对手机号进行了加密,加密后的字段是telephoneNoEncrypted。需要在这串JSON中把它找出来:
final String jsonStr = "...";
// $:表示从根目录开始查询
// ..: 深度搜索,一直往里查询
// telephoneNoEncrypted:要查询的字段名称
final String jsonPath = "$..telephoneNoEncrypted";
net.minidev.json.JSONArray result = JsonPath.read(jsonStr, jsonPath);
// TODO 从result获取想要的值更多案例及配置,请参考github官网。
参考
1.[JsonPath](Gitee 极速下载/JsonPath)
版权声明:本文为u012383839原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。