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

如何优化JSONPath表达式,使空数组过滤返回空数组而非无匹配

JSONPath表达式优化:空数组输入返回空数组而非"no match"

当输入非空数组:

[
  {
    "data": 4
  },
  {
    "data": 7
  }
]

原表达式 $.data[] 可得到结果 [4, 7],但输入为空数组 [] 时会返回 no match。要实现非空数组结果不变、空数组返回 [] 的需求,可按以下方式优化:

最优兼容方案

使用表达式 $[*].data:

  • 非空数组输入时,遍历数组内每个对象并提取data属性值,返回结果仍为 [4, 7];
  • 空数组输入时,因无元素可遍历,直接返回空数组 []。

可选默认值方案(兼容性有限)

若使用的JSONPath实现支持默认值语法(如Jayway JSONPath),也可使用 $.data[] ?: [],该表达式会在原匹配无结果时返回空数组。但此写法仅适用于支持该语法的实现,兼容性不如前者。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:52:36