RestAssured JsonPath:从 json 获取列表时出现问题

RestAssured JsonPath: Issue with getting list from json

熟悉 jsonPath 的人可以给我一个建议,我怎样才能从每个 item0、item1、item2 等中获取标题列表。

此查询将 return

findAll {it.key.startsWith('item')}

地图列表,其中键是项目,值是项目 object 的 body,我不知道如何获取标题列表

{
   "jcr:primaryType":"nt:unstructured",
   "item0":{
      "jcr:primaryType":"nt:unstructured",
      "tabType":"regular",
      "uniqueId":927,
      "hide":"no",
      "title":"title 0",
      "locales":[
         "Locale:en_us",
         "Locale:fr_ca",
         "Locale:es",
         "Locale:pt"
      ],
      "cq:tags":[
         "tag0"
      ]
   },
   "item1":{
      "jcr:primaryType":"nt:unstructured",
      "tabType":"regular",
      "uniqueId":445,
      "hide":"no",
      "title":"title 1",
      "locales":[
         "Locale:en_us",
         "Locale:fr_ca",
         "Locale:pt",
         "Locale:es"
      ],
      "cq:tags":[
         "Tag1"
      ]
   }

语法有点笨拙,但这里有一种方法:

findAll {it.key.startsWith('item')}*.getValue().title

解释:

首先,我们找到所有 条目,其键以 "item" 开头。对于每个条目,我们获取其值(使用 spread operator)然后获取标题。

终于找到了我的问题的解决方案。

.items*.find {it.key.startsWith('item')}.value