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

Java中使用JsonPath过滤嵌套数组获取指定字段值问题

JsonPath查询嵌套数组匹配问题解决方案

问题分析

你使用的JsonPath表达式错误在于数组包含元素的匹配逻辑:@.source__c in ['nci__c']是判断整个数组是否存在于目标数组中,而非检查目标元素nci__c是否存在于source__c数组内。

正确表达式

针对github.com/json-path/JsonPath(Jayway实现),可以用两种方式实现需求:

  1. 使用in操作符,将目标元素放在左侧、数组放在右侧:
$..case_version__v.case_number__vr.none2b_references__cr[?('nci__c' in @.source__c)].case_identifier__c
  1. 使用contains函数,直接检查数组是否包含指定元素:
$..case_version__v.case_number__vr.none2b_references__cr[?(@.source__c contains 'nci__c')].case_identifier__c

简化路径(可选)

如果JSON结构固定,可省略递归匹配符$..,使用绝对路径:

$.case_version__v.case_number__vr.none2b_references__cr[?('nci__c' in @.source__c)].case_identifier__c

以上表达式均可返回期望结果:["THIS-IS-MINE"]


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 18:54:53