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

JSONPath如何根据包含指定值的数组成员获取对应兄弟元素值

正确JSONPath查询语句

推荐兼容性最优的写法:

$.elements[?(@.ids[*].id == 'A')].value

语句逻辑说明

  • 直接从elements数组层做条件过滤,不需要先定位到id=A的对象再回溯父节点,适配绝大多数JSONPath解析实现
  • [?(@.ids[*].id == 'A')] 是过滤规则:@指代elements数组中的每一个子对象,筛选条件为该对象的ids数组下存在id属性等于A的项
  • 末尾追加.value即可拿到符合条件的对象对应的value字段值

执行后返回结果为:

["one"]

可选回溯写法(兼容性较弱)

如果你所用的JSONPath实现支持父节点回溯符^,也可以在你原有查询的基础上修改为:

$..ids[?(@.id=='A')]^.value

该写法是先定位到id=A的对象,再向上回溯一层到ids所属的父对象,最后取value字段,仅部分解析器支持该语法,不优先推荐。


内容的提问来源于stack exchange,提问作者j.xavier.atero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:45:08