jsonpath在解析json时的使用

JsonPath表达式通常是用来路径检索Json的,是xpath在json的应用

我在工作中遇到一个接口,返回的json很复杂,嵌套6层,且中间的key值是变动的,这时要提取其中的部分数据,通过jsonobject、fastjson、gson都不行,这时想到用jsonpath来解决,一行代码就完事了。

图1

eg:List<JSONArray> aList= JsonPath.read(re, "$..answer2");

$:代表根节点

..:从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。


在pom.xml中添加如下:

<dependency>

<groupId>com.jayway.jsonpath</groupId>

<artifactId>json-path</artifactId>

<version>2.4.0</version>

</dependency>


或者导入jsonPath所需jar包(json-path-0.8.1.jar,json-smart-1.1.1.jar,commons-lang-2.6.jar),

假如不使用jsonPath,就要通过一层一层的遍历获取json数据中的值,增加了代码的复杂度和工作量。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。