You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

嵌套两层数组的JsonPath条件查询:匹配指定url返回完整父对象

解决方案:筛选出包含指定URL的父对象

针对你的嵌套JSON结构,以下是可行的JSONPath表达式,能直接返回produce数组中包含url: 'www.fruits.com'的完整父对象:

表达式1(精确层级匹配)

$.produce[?(@.upc.code.codingList[*].organizations[*].url == 'www.fruits.com')]

说明:

  • $.produce:定位到顶层的produce数组
  • [?()]:数组过滤语法,用于筛选符合条件的元素
  • @:代表当前遍历的produce数组元素
  • @.upc.code.codingList[*].organizations[*].url:遍历当前元素下所有codingList和organizations数组的url字段,判断是否等于目标值

表达式2(递归匹配,更简洁)

如果JSONPath实现支持递归下降语法(多数主流实现都支持),可以用更短的表达式:

$.produce[?(@..url == 'www.fruits.com')]

说明:

  • @..url:递归遍历当前produce元素下所有层级的url字段,只要存在等于www.fruits.com的项,就会选中该produce对象

测试结果

用你的示例JSON测试,两个表达式都会返回以下结果:

{
  "type": "fruit",
  "upc": {
    "code": {
      "codingList": [
        {
          "item": "apple",
          "organizations": [
            {
              "url": "www.fruits.com"
            }
          ]
        }
      ]
    }
  }
}

内容的提问来源于stack exchange,提问作者Addison Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 00:22:35