【问题标题】:Solving this simple(?) JSONPath解决这个简单的(?)JSONPath
【发布时间】:2020-12-08 15:18:37
【问题描述】:

我是这个话题的新手,但我希望你能帮助我。我想不出一个正确的 JSON 表达式来解决我的问题。

给定 JSON 结构(来自 zigbee2mqtt):

{
  "message" : "announce",
  "meta" : {
    "friendly_name" : "Lamp1"
  },
  "type" : "device_announced"
}

我正在尝试什么:

if $.type == 'device_announced' then return the friendly_name

在这种情况下是

Lamp1

【问题讨论】:

  • 你尝试过什么路径?

标签: json jsonpath openhab json-path-expression


【解决方案1】:

如果我理解正确,您正在寻找这样的表达方式:

$[?(@.type=='device_announced')].meta.friendly_name

因此,我们正在过滤types 上等于搜索字符串的根集合,然后向下钻取到friendly_name。你可以在线测试这个here

注意:某些实现要求您将 JSON 包装在数组 [ ] 中以允许这种过滤。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-22
    • 1970-01-01
    • 2023-03-31
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2022-12-04
    相关资源
    最近更新 更多