在我的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"}
我怎样才能与其他人联系?
答案 0 :(得分:4)
这应该有用 -
String[] subpages = contentValueMap.get("subpage", String[].class);
答案 1 :(得分:3)
正如awd提到的那样
String[] subPages = contentValueMap.get("subpage", String[].class);
有效并且是推荐的解决方案。这是在Sling层访问数据。只是需要深入了解并在JCR层访问,代码看起来像
Node node=resource.adaptTo(Node.class);
Value[] subPages = node.getProperty("subpage").getValues();
这对节点级操作很有帮助。但建议在Sling或AEM的更高层工作。