我有一个如下所示的json负载
{
"data":{
"methods":[
[
{
"p_id":"01",
"description":"Test01",
"offline":true
}
],
[
{
"p_id":"02",
"description":"Test02",
"offline":false
}
],
[
{
"p_id":"03",
"description":"Test03",
"offline":true
}
]
]
}
}
如何编写JSONPath表达式以获取“p_id”,其中“offline”= false?
1条答案
按热度按时间bttbmeg01#
您可以使用筛选器表达式来选择对象或数组中与指定筛选器匹配的所有元素。例如,如果
offline
属性严格为false
,则[?(@.offline === false)]
将与任何对象匹配。因此,如果对象总是在同一个位置,您可以执行以下操作:
或者,如果您想查找
offline
等于false
的任何对象并获取p_id
,则可以使用递归下降和过滤表达式:注意:我在示例中使用了strict equality,所以它只匹配布尔值false。如果你不需要,你可以简单地使用
!
来否定过滤器。例如[?(!@.offline)]