首页 > 解决方案 > 按兄弟节点条件使用 JsonPath 进行 JSON 查询

问题描述

这是我在使用 JsonPath 解析 JSON 时遇到的问题。我确实提出了一个解决方案,但不确定它是否是最好的/唯一的。

假设我有一个像这样的简单 JSON,

{
   "name": "Bill",
   "age" : 33
}

如果“age”节点的值小于40,我需要选择“name”节点。如果不是,则返回一个空数组。

有人可以分享您的解决方案吗?我有我的作为下面的一个答案。

标签: jsonjsonpath

解决方案


首先,我必须使用$.将 JSON 转换为 JSON 数组,即

        {
          "name": "Bill",
          "age" : 33
        }

        [
            {
              "name": "Bill",
              "age" : 33
            }
        ]

然后我可以申请$[?(@.age < 40)].name


推荐阅读