微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

JsonPath 数组 length() 返回键的数量而不是元素

如何解决JsonPath 数组 length() 返回键的数量而不是元素

我有以下数组:

"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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。