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

使用Jayway JSONPath提取满足iscomponentInSal条件的empDetails.name

正确的Jayway JSONPath写法

要提取目标字段,得先从顶层数组里筛出符合条件的对象,再定位到姓名字段,正确的表达式是:

$.[?(@.empDetails.compensation.salary[?(@.iscomponentInSal == true)])].empDetails.name

表达式说明:

  • $.[?()]:遍历顶层数组里的每一个对象,进行条件过滤
  • @.empDetails.compensation.salary[?(@.iscomponentInSal == true)]:检查当前对象的salary数组中,是否存在至少一个iscomponentInSal值为true的元素
  • 末尾的.empDetails.name:提取符合条件对象的姓名字段

验证结果:

用这个表达式查询你提供的JSON数据,会得到结果:

["John"]

你之前的表达式问题出在层级定位错误——直接从顶层数组查找salary字段,但salary实际嵌套在empDetails.compensation下,同时也没有关联到最终要提取的name字段,所以无法得到目标结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 10:17:28