【发布时间】:2016-12-02 09:24:08
【问题描述】:
我想知道是否可以过滤子级复杂对象(不是简单字符串),并检索其子级与预测匹配的父节点。
以 Jayway 的 github 项目中的书店为例:https://github.com/jayway/JsonPath#path-examples。
如果我将“作者”更改为更复杂的对象,如下所示:
"authors": [
{
"firstName": "Nigel",
"lastName": "Rees"
},
{
"firstName": "Evelyn",
"lastName": "Waugh"
}
]
这样,我怎样才能找回“所有书籍都是由姓氏为'Waugh'的人写的” ?
我尝试使用 Json Evaluator (http://jsonpath.herokuapp.com/) 使用类似 $.store.book[?(@.authors[?(@.lastName == 'Waugh')])] 的东西
,但似乎过滤器不起作用。我猜 Jayway 不允许嵌套谓词。如果是这种情况,是否有任何解决方法?
另外,如果有任何其他 JsonPath 的 Java 实现可以提供帮助,我很想学习它。
提前谢谢你。
【问题讨论】: