如何使用JsonPath在表达式上获取多级对象

时间:2015-01-30 08:43:20

标签: javascript json jsonpath

关于商店/书籍的当前示例

https://github.com/jayway/JsonPath

如果作者是一个对象

"author" : { "name" : "Joe", "lastName": "Doe" }

我怎么能让所有作者知道lastName是Doe,我看到的所有例子都只使用数组上的简单对象。

2 个答案:

答案 0 :(得分:0)

$..author[?(@.lastName = 'Doe')]; 

我认为应该这样做。基于快速阅读自述文件。语法基于 Xpath 。所以理解起来并不难。

  • $从root开始。
  • ..深度扫描
  • author选择所有作者对象。
  • [?(@.lastName = 'Doe')]搜索lastName = Doe
  • 的对象

答案 1 :(得分:0)

让所有姓氏为'Doe'的作者:

$.store.book[*].author[?(@.lastName == 'Doe')] 

获取姓氏为'Doe'的作者的所有书籍:

$.store.book[?(@.author.lastName == 'Doe')]