我在JSONArray中有一个JSONArray,我想在这个上应用JSONPath表达式,以便在内部JSONArray上满足条件时获得JSONObject或JSONArray。
例如:
{
"A": [
{
"B": [
{
"id": 1
},
{
"id": 2
},
{
"id": 3
}
],
"C": {
"id": 10,
"name": "PQR"
},
"id": 25,
"name": "XYZ"
},
{
"B": [
{
"id": 4
},
{
"id": 5
},
{
"id": 6
}
],
"C": {
"id": 15,
"name": "PQR"
},
"id": 20,
"name": "XYZ"
}
]
}
如果我希望A的所有元素都在C.id = 10
,我会使用:$.A[?(@.C.id == 10)]
现在,使用什么谓词来获取A中的所有对象,其中B.id = 1
?注意:B是JSON对象的数组。
答案 0 :(得分:0)
我在$.A[?(@.B[?(@.id == 1)])]
但仅在使用Scala的Gatling实现时: http://jsonpath.herokuapp.com/
Jayway实现似乎完全忽略了内部过滤器,并且根据他们的GitHub上的issue,这是一个错误。