我在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对象的数组。
发布于 2017-09-26 15:15:47
我在$.A[?(@.B[?(@.id == 1)])]上取得了成功
但仅当使用Scala的Gatling实现时:http://jsonpath.herokuapp.com/
Jayway的实现似乎完全忽略了内部过滤器,根据他们GitHub上的issue,这是一个错误。
https://stackoverflow.com/questions/46419321
复制相似问题