jsonpath在解析json时的使用

jsonpath在解析json时的使用

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

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

jsonpath在解析json时的使用

图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数据中的值,增加了代码的复杂度和工作量。

如果大家对于学习Python有任何问题,学习方法,学习路线,如何学习有效率的问题,可以随时来咨询我,或者缺少系统学习资料的,我做这行年头比较久,自认为还是比较有经验的,可以帮助大家提出建设性建议,这是我的Python交流qun:785128166,有任何问题可以随时来咨询我。