如何访问存储在 jcr 节点中的字符串数组?

how can I access the string array stored in jcr node?

在我的 jcr 节点中,我有键 subpage 并且它保存类型 String[]:

的值
{"title":"some title1", "url":"some url1"}
{"title":"some title2", "url":"some url2"}
{"title":"some title3", "url":"some url3"}
{"title":"some title4", "url":"some url4"}

如何在 java 中访问它?

我试过:

ValueMap contentValueMap = resource.getValueMap();

String subpages = contentValueMap.get("subpage", String.class);

System.out.println(subpages); 

但它只打印第一个字符串:

{"title":"some title1", "url":"some url1"}

我怎样才能联系到其他人?

这应该有效-

String[] subpages = contentValueMap.get("subpage", String[].class);

正如 awd 提到的那样

String[] subPages = contentValueMap.get("subpage", String[].class);

有效并且是推荐的解决方案。这是在 Sling 层访问数据。以防万一您需要深入研究并访问 JCR 层,代码将类似于

Node node=resource.adaptTo(Node.class);
Value[] subPages = node.getProperty("subpage").getValues();

这将有助于节点级别的操作。但建议在 Sling 或 AEM 的更高层工作。