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
熟悉 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