{
"a": [
{
"b": {
"c": [
{
"id": "123"
}
],
"d": {
"e": {
"f": [
{
"name": "abc",
"type": "in"
},
{
"name": "xyz",
"type": "out"
}
]
}
}
}
},
{
"b": {
"c": [
{
"id": "456"
}
],
"d": {
"e": {
"f": [
{
"name": "def",
"type": "out"
},
{
"name": "pqr",
"type": "out"
}
]
}
}
}
}
]
}
我正在尝试提取 type='in' 的 id。因此,根据上面的示例,输出应为 123,因为第一个元素中只有 abc 具有类型“in”。 我尝试了多种方法但没有成功提取它。有人可以帮忙吗?
使用以下表达式,我可以提取值为“in”的节点,但如何提取同一对象的相应 id/id(即 123)?
$.a[*].b.d[*].f[?(@.type=='in')]
可以在这里尝试 json 路径: JSON路径在线工具
$.a 为您提供一个数组,您想要访问数组的第一项,并且 c 对象也有一个数组值。 所以方式就像;
$.a[0].b.c[0].id
会给你结果123