熟悉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"
]
}
答案 0 :(得分:1)
语法有点尴尬,但这是一种方法:
findAll {it.key.startsWith('item')}*.getValue().title
说明:
首先,我们找到所有条目,其键以" item"开头。对于每个条目,我们得到它的值(使用spread operator),然后得到标题。
答案 1 :(得分:0)
最后为我的问题找到了解决方案。
.items*.find {it.key.startsWith('item')}.value