如何解决使用JSONPath从Web服务JSON响应中提取值
[
{
"id":4,"sourceID":null,"subject":"SomeSubjectOne","category":"SomeCategoryTwo","impact":null,"status":"completed"
},{
"id":12,"subject":"SomeSubjectTwo","status":"assigned"
}
]
如何获得这些结果:
解决方法
Goessner的原始JSONPath文章是一个很好的参考点,所有实现或多或少都遵循建议的查询语法。但是,诸如Jayway JsonPath / Java,JSONPath-Plus / JavaScript,flow-jsonpath / PHP之类的实现在某些方面的行为可能有所不同。这就是为什么了解您实际使用的实现很重要的原因。
-
第一项内容
只需使用索引即可选择所需的数组元素。
$.[0].subject
返回:
SomeSubjectOne
-
特定主题值
首先,查找任何元素
..
,检查主题为[?(@.subject]
的元素,然后使用== '..'
进行比较。$..[?(@.subject == 'SomeSubjectTwo')]
返回
[{ “ id”:12 “ sourceID”:null, “ subject”:“ SomeSubjectTwo”, “ category”:“ SomeCategoryTwo”, “ impact”:null, “ status”:“ assigned”}] *
-
获取所有主题
$.[*].subject
或者简单地
$..subject
返回
[“ SomeSubjectOne”,“ SomeSubjectTwo”]
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。