问题描述
[
{
"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”]