Jsonpath:当兄弟元素是包含特定值的数组时,根据其兄弟元素获取元素的值
Jsonpath: get the value of an element based on its sibling, when the sibiling element is an array containing a specific value
与以下json:
{
"elements": [
{
"ids": [
{
"id": "A"
},
{
"id": "B"
}
],
"value": "one"
},
{
"ids": [
{
"id": "C"
},
{
"id": "D"
}
],
"value": "two"
}
]
}
当请求 ID A 时,return 值 one 的 json 路径是什么?
根据 我可以检索包含 A:
的 ids 元素
$.elements.*.ids[?(@.id=='A')]
或 $..ids[?(@.id=='A')]
结果:
[
{
"id" : "A"
}
]
但我想访问其同级 ("value": "one"
) 的值。
提前致谢!
jsonpath:
$.elements[?(@.ids.*.id contains 'A')].value
结果:
[
"one"
]
您也可以使用 in
filter operator.
$.elements[?('A' in @.ids.*.id)].value
与以下json:
{
"elements": [
{
"ids": [
{
"id": "A"
},
{
"id": "B"
}
],
"value": "one"
},
{
"ids": [
{
"id": "C"
},
{
"id": "D"
}
],
"value": "two"
}
]
}
当请求 ID A 时,return 值 one 的 json 路径是什么?
根据
$.elements.*.ids[?(@.id=='A')]
或 $..ids[?(@.id=='A')]
结果:
[
{
"id" : "A"
}
]
但我想访问其同级 ("value": "one"
) 的值。
提前致谢!
jsonpath:
$.elements[?(@.ids.*.id contains 'A')].value
结果:
[
"one"
]
您也可以使用 in
filter operator.
$.elements[?('A' in @.ids.*.id)].value