我想知道是否可以过滤子级复杂对象(不是简单字符串),并检索其子节点与预测匹配的父节点。
以Jayway&#39}的github项目中的书店为例:{/ 3}}。
如果我要改变"作者"更复杂的对象如下:
$.store.book[?(@.authors[?(@.lastName == 'Waugh')])]
有了这个,我怎样才能找回所有书籍由姓氏为“Waugh' " ?
我尝试使用Json Evaluator(https://github.com/jayway/JsonPath#path-examples)使用像{{1}}之类的东西 ,但似乎过滤器不起作用。我猜Jayway不允许嵌套谓词。如果是这样的话,会有解决方法吗?
此外,如果JsonPath的任何其他Java实现可以提供帮助,我很乐意学习它。
提前谢谢。
答案 0 :(得分:3)
看起来如果不为父数组(即作者)提供索引值就无法实现。我知道它可能无法完全解决问题。我只想在另一个数组中有数组时确认限制。
$.store.book[?(@.authors[0].lastName == 'Waugh')]