0

我有以下数组:

"books" : [ {
  "title" : "History",
  "id":1

}, {
  "title" : "The Robotics",
  "id":2

}, {
  "title" : "The World",
   "id":3
} ]

我的 JsonPath 符号是这样的:$.books[?(@.title == 'History')].length(). 我希望它返回 1(因为它匹配一本书),但它返回 2,这是第一个对象中的键数(匹配的)。如何强制/更改它以返回元素的数量,而不是对象中的键?

我将这个库用于java。

4

1 回答 1

1

问题在于点 ( .)。你只有一个,但你需要两个。这有效:

$..books[?(@.title == 'History')].length()
于 2021-03-02T10:30:17.790 回答