问题描述
我有以下数组:
"books" : [ {
"title" : "History","id":1
},{
"title" : "The Robotics","id":2
},{
"title" : "The World","id":3
} ]
而我的 JsonPath 符号是这样的: $.books[?(@.title == 'History')].length()
。我期望它返回 1(因为它匹配一本书),但它返回 2,这是第一个对象(匹配的)中的一些键。如何强制/更改它以返回元素的数量,而不是对象中的键?
我正在为 Java 使用 this 库。
解决方法
问题在于点 (.
)。你只有一个,但你需要两个。这有效:
$..books[?(@.title == 'History')].length()