当前位置: 首页 > 知识库问答 >
问题:

JsonPath array length()返回键数,而不是元素数

姬俊驰
2023-03-14

我有以下数组:

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

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

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

我的JsonPath表示法是这样的:$. book[?(@. title=='历史')]。长度()。我希望它返回1(因为它与一本书匹配),但它返回2,这是第一个对象(匹配)中的键数。我如何强制/更改它以返回元素数,而不是对象中的键数?

我使用这个库为java。

共有1个答案

孔鸿云
2023-03-14

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

$..books[?(@.title == 'History')].length()
 类似资料:
  • 所以我正在尝试制作一个程序,它将使用HashMap计算一个唯一单词出现在一个小文件中的次数。但是,当我尝试通过在我的HashMap上使用. get(key)来增加重复单词的计数时,它返回true而不是我想要转换为的整数值。如何让我的代码返回值而不是布尔值?这是我到目前为止的代码: 我的FindCommons类: 导入java。util。ArrayList;公共类FindCommons{ }

  • 我正在为二和leetcode问题实现一个哈希映射。 映射的第一个数组创建一个散列数组作为“索引”,它是nums数组中每个元素的目标差异。然后,我对映射数组应用一个过滤器,以查看映射数组的2个元素是否包含在nums数组中,并返回这些元素的索引。 当索引被过滤到returnedArr中时,它似乎返回nums的第一个元素,而不是两个索引。[2] 返回之前的日志记录显示它正确地分别注册了索引0和1,而不是

  • 问题内容: 搜索时,Elasticsearch返回包含各种元信息的数据结构。 实际结果集包含在从数据库返回的JSON结果内的“ hits”字段中。 Elasticsearch是否有可能仅返回所需的数据(然后是“ hits”字段的内容)而没有嵌入所有其他元数据中? 我知道我可以将结果解析为JSON并提取出来,但是我不希望复杂性,麻烦和性能下降。 谢谢! 这是Elasticsearch返回的数据结构的

  • 我试图让2支球队互相比赛。当我说团队1.玩(团队2)时,我称之为;当 i 生成的数字小于 0.5 时,team2 应获胜,如果大于 0.5,则团队 1 应获胜。当团队 1 获胜时,它会正确显示为尼克斯,但当团队 2 获胜时,它会显示内存地址。我怎么能让它正确地说网是赢的,而不是team@78987neu73

  • 出于某种原因,将索引放入XPath将返回整个对象数组,而不是索引处的对象数组 超文本标记语言 我正在研究的超文本标记语言如下所示: HTML的屏幕截图 我想做什么 我正试图根据复选框编写硒测试。选中叶复选框只应选中该叶复选框,选中父复选框还应选中子复选框。 我的XPath选择器 在该代码中,为了便于XPath选择器的编写,我在开发人员控制台中的一个字段上放置了一个ID。尤其是这个: 在包含所需内容

  • 问题内容: 我有这行代码(总是返回1): 其中token [“ rows”]是: 我想对组件数量进行计数。 这也不起作用: 整个JSON在这里: 问题答案: 根据您在另一个答案中的评论,我现在可以了解您为什么感到困惑。您没有在问题中提到正在执行XML到JSON的转换。 如您所知,XML不像JSON那样具有“对象”或“数组”的概念。在XML中,所有内容都只是命名节点的集合。在确定某个东西应该是数组还