JsonPath array length() returns 键数而不是元素数
JsonPath array length() returns number of keys instead of elements
我有以下数组:
"books" : [ {
"title" : "History",
"id":1
}, {
"title" : "The Robotics",
"id":2
}, {
"title" : "The World",
"id":3
} ]
我的 JsonPath 表示法是这样的:$.books[?(@.title == 'History')].length()
。我期望它是 return 1(因为它匹配一本书),但它是 returns 2,这是第一个对象(匹配)中的一些键。我怎样才能 force/change 它到 return 元素的数量,而不是对象中的键?
我正在为 java 使用 this 库。
问题出在点(.
)上。你只有一个,但你需要两个。这有效:
$..books[?(@.title == 'History')].length()
我有以下数组:
"books" : [ {
"title" : "History",
"id":1
}, {
"title" : "The Robotics",
"id":2
}, {
"title" : "The World",
"id":3
} ]
我的 JsonPath 表示法是这样的:$.books[?(@.title == 'History')].length()
。我期望它是 return 1(因为它匹配一本书),但它是 returns 2,这是第一个对象(匹配)中的一些键。我怎样才能 force/change 它到 return 元素的数量,而不是对象中的键?
我正在为 java 使用 this 库。
问题出在点(.
)上。你只有一个,但你需要两个。这有效:
$..books[?(@.title == 'History')].length()