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

如何用JSONPath判断数组中存在指定值并返回路径?

JSONPath 查询:判断数组中是否存在指定值并返回路径

需求场景

给定如下JSON结构,需编写JSONPath语句,判断names数组中是否包含"Steve",若存在则返回对应元素的路径:

{
  "names": [
    "David",
    "Steve",
    "Wilson"
  ]
  // 其他属性省略
}

可用的JSONPath查询语句

  • 动态过滤查询(通用场景,适合不知道元素索引的情况):$..names[?(@ == 'Steve')]
  • 精确索引查询(已知元素位置时可用):$.names[1]

语法说明(基于原文档翻译)

核心语法拆解

  • $:代表JSON根节点(整个对象)
  • ..:递归遍历所有层级,匹配任意位置的names属性(如果names固定在根节点下,也可简化为$.names)
  • []:用于包裹数组下标或过滤条件
  • ?():过滤表达式容器,内部定义筛选规则
  • @:指代当前正在被检查的数组元素

查询逻辑说明

执行$..names[?(@ == 'Steve')]时,JSONPath会遍历所有names数组,逐一检查元素是否等于"Steve"。匹配成功后,会返回该元素的完整路径(不同工具实现可能返回路径字符串或元素值,但表达式逻辑通用)


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 20:45:56