1

熟悉 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"
      ]
   }
4

2 回答 2

2

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

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

解释:

首先,我们找到键以“item”开头的所有条目。对于每个条目,我们获取其值(使用扩展运算符),然后获取标题。

于 2017-02-08T20:24:10.980 回答
0

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

.items*.find {it.key.startsWith('item')}.value 
于 2020-04-22T14:02:45.873 回答