如何编写JSONPath表达式,仅当AValue的qId为ABCD时获取eValue
JSONPath表达式筛选并获取指定条件的eValue值
针对你提供的JSON结构,满足AValue.qId == "ABCD"条件时获取对应eValue的JSONPath表达式如下:
$.AValue[?(@.qId == 'ABCD')].value.eValue
表达式拆解说明:
$.AValue:直接定位到根节点下的AValue对象[?(@.qId == 'ABCD')]:添加过滤逻辑,仅保留qId属性值为"ABCD"的AValue节点.value.eValue:从符合过滤条件的节点中,逐层取出value子节点下的eValue属性值
用你提供的示例JSON测试时,该表达式会返回结果:"XXXXXXX"
注:主流JSONPath实现(如Jayway JsonPath)均支持该写法,部分工具可能对字符串引号的要求略有差异,单引号或双引号均可,保持一致即可。
内容的提问来源于stack exchange,提问作者parhau
相关产品推荐
相关产品推荐

