如何修改JSONPath表达式以返回匹配元素父节点的指定属性
解决方案
你可以直接使用如下JSONPath表达式:$.recordList[?(@.customFieldList[*].value.name == 'JEANS')].internalId
执行结果
以上表达式在你提供的源JSON上执行后,会直接返回你需要的父级internalId值:
["321"]
逻辑说明
- 你原来的表达式是定位到了
customFieldList下符合条件的子对象,所以返回的是子对象本身 - 调整后的表达式改为在
recordList层级做过滤筛选:只要当前记录的customFieldList数组中存在value.name为JEANS的元素,就匹配该条记录,之后直接提取该记录的internalId属性即可
内容的提问来源于stack exchange,提问作者Shawn de Wet
相关产品推荐
相关产品推荐

