JSONPath 过滤具有特定值的顶级键
JSONPath filter top level key with certain value
考虑以下 JSON:
{
"expensive": 10,
"abc":10
}
我想编写一个过滤器,如果键 abc
等于 10
,则 return 为真,即在上面的示例中,答案是 true
,而在以下示例中,它是 false
:
{
"expensive": 10
}
因为没有这样的键abc
。
我试过这些过滤器:
$[?(@ == 10)]
returns [10,10]
第一个 json 和 [10]
第二个,但我想强制检查 abc
字段,即第二个应该 return 什么都没有。如何实现?
我假设您有一个输入对象数组并且想要过滤它们。
[{
"expensive": 10,
"abc":10
}, {
"expensive": 10
}]
这里$[?(@.abc == 10)]
returns
[
{
"expensive": 10,
"abc": 10
}
]
和$[?(@.abc == 10)].expensive
returns
[
10
]
考虑以下 JSON:
{
"expensive": 10,
"abc":10
}
我想编写一个过滤器,如果键 abc
等于 10
,则 return 为真,即在上面的示例中,答案是 true
,而在以下示例中,它是 false
:
{
"expensive": 10
}
因为没有这样的键abc
。
我试过这些过滤器:
$[?(@ == 10)]
returns[10,10]
第一个 json 和[10]
第二个,但我想强制检查abc
字段,即第二个应该 return 什么都没有。如何实现?
我假设您有一个输入对象数组并且想要过滤它们。
[{
"expensive": 10,
"abc":10
}, {
"expensive": 10
}]
这里$[?(@.abc == 10)]
returns
[
{
"expensive": 10,
"abc": 10
}
]
和$[?(@.abc == 10)].expensive
returns
[
10
]