鉴于下面的JSON:
{
"store": {
"book": [
{
"author": "Nigel Rees",
"title": "Sayings of the Century"
},
{
"category": "fiction",
"title": "Sword of Honour",
"price": 12.99
}
]
}
如何构建JSON路径以检索具有book
,category
和price
元素的title
元素?我已经尝试$.store.book[?(@.price && @.category && @.title)]
但是这不起作用(似乎那种谓词不允许多个条件)。有任何想法吗?这是一个方便的测试人员的链接:https://jsonpath.curiousconcept.com/
答案 0 :(得分:0)
我无法找到使用内联过滤器执行此操作的方法。但是,可以使用过滤器对象:
Filter f = filter(where("price").exists(true).and(where("category").exists(true).and(where("titles").exists(true));
致电阅读:JsonPath.read(json, "$.store.book[?]", f);