解决这个简单的(?)JSONPath
Solving this simple(?) JSONPath
我是这个话题的新手,但我希望你能帮助我。我想不出一个正确的 JSON 表达式来解决我的问题。
给定 JSON 结构(来自 zigbee2mqtt):
{
"message" : "announce",
"meta" : {
"friendly_name" : "Lamp1"
},
"type" : "device_announced"
}
我在尝试什么:
if $.type == 'device_announced' then return the friendly_name
在这种情况下是
Lamp1
如果我没理解错的话,你正在寻找这样的表达式:
$[?(@.type=='device_announced')].meta.friendly_name
因此,我们在等于搜索字符串的 type
上过滤根集合,然后向下钻取到 friendly_name。您可以在线测试 here.
注意:某些实现要求您将 JSON 包装在数组 [ ]
中以允许这种过滤。
我是这个话题的新手,但我希望你能帮助我。我想不出一个正确的 JSON 表达式来解决我的问题。
给定 JSON 结构(来自 zigbee2mqtt):
{
"message" : "announce",
"meta" : {
"friendly_name" : "Lamp1"
},
"type" : "device_announced"
}
我在尝试什么:
if $.type == 'device_announced' then return the friendly_name
在这种情况下是
Lamp1
如果我没理解错的话,你正在寻找这样的表达式:
$[?(@.type=='device_announced')].meta.friendly_name
因此,我们在等于搜索字符串的 type
上过滤根集合,然后向下钻取到 friendly_name。您可以在线测试 here.
注意:某些实现要求您将 JSON 包装在数组 [ ]
中以允许这种过滤。