RestAssured JsonPath:从json获取列表的问题

时间:2017-02-07 00:54:07

标签: java rest-assured rest-assured-jsonpath

熟悉jsonPath的人可以给我一个建议,我如何从每个item0,item1,item2等获得一个标题列表。

此查询将返回

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

关键是项目和值的地图列表是项目对象的主体,我不知道如何获得标题列表

{
   "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"
      ]
   }

2 个答案:

答案 0 :(得分:1)

语法有点尴尬,但这是一种方法:

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

说明:

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

答案 1 :(得分:0)

最后为我的问题找到了解决方案。

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