如何用Jsonpath查询createdTs≥444对应的Test1字段值
正确JSONPath写法说明
错误原因
你原有的表达式缺少了raw层级:待查询的Test2字段嵌套在数组元素的raw属性下,你直接在数组根元素下检索Test2自然匹配不到结果。
对应场景的正确写法
场景1:返回符合条件的完整raw对象(匹配你期望的输出)
使用表达式:$[?(@.raw.Test2.createdTs >= 444)].raw
查询结果如下:
{ "Test1": "Tomato", "Test2": { "createdTs": 555, "langCode": "ko" } }
场景2:直接提取符合条件的Test1值
如果仅需要获取Test1的内容,使用表达式:$[?(@.raw.Test2.createdTs >= 444)].raw.Test1
查询结果为:"Tomato"
语法补充
你原有写法中@.['Test2']的语法本身没有问题,也可以简化为更简洁的@.Test2写法,两者功能完全等价。
内容的提问来源于stack exchange,提问作者testaaa
相关产品推荐
相关产品推荐

