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

JMESPath是否有'in'类运算符?如何筛选指定名称的JSON对象?

JMESPath 实现类似 'in' 的筛选逻辑

JMESPath 没有专门命名为 in 的运算符,但可以通过内置的 contains() 函数实现等价的“判断值是否存在于数组”逻辑,进而完成目标筛选。

针对你提供的 JSON 数据,要筛选出 metadata.name 值属于 ['item1', 'item2'] 的对象,使用以下 JMESPath 表达式即可:

[?contains(['item1', 'item2'], object.metadata.name)]

表达式说明

  • [?...]:JMESPath 的数组筛选语法,用于保留数组中满足后续条件的元素
  • contains(array, value):核心判断函数,当 value 是 array 的成员时返回 true,否则返回 false
  • object.metadata.name:精准定位到每个数组元素中需要校验的目标字段

执行结果

将该表达式应用到你的 JSON 数据后,会得到预期的筛选结果:

[
  {
    "object": {
      "metadata": {
        "name": "item1"
      }
    },
    "data": {}
  },
  {
    "object": {
      "metadata": {
        "name": "item2"
      }
    },
    "data": {}
  }
]

内容的提问来源于stack exchange,提问作者J. M. Becker

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 18:05:25