2017-09-12 2 views
1

Dans mon noeud JCR J'ai la clé subpage et détient la valeur du type String[]:comment puis-je accéder au tableau de chaînes stocké dans le noeud jcr?

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

comment puis-je accéder en java?

J'ai essayé:

ValueMap contentValueMap = resource.getValueMap(); 

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

System.out.println(subpages); 

mais il imprime uniquement la première chaîne:

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

comment puis-je atteindre le reste d'entre eux?

+0

merci, je peux l'utiliser, mais je ne sais pas comment procéder, ou plutôt - comment cela peut être utile dans mon cas :( – randomuser1

Répondre

4

cela devrait TRAVAiL

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

bien sûr cela fonctionne.Comment je ne l'ai pas essayé auparavant: | Merci mec! – randomuser1

3

Comme awd mentionne

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

fonctionne et est la solution recommandée. C'est accéder aux données à la couche Sling. Juste Incase vous avez besoin de plonger plus profondément et l'accès à la couche JCR, le code ressemblera

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

Cela sera utile pour les opérations de niveau Node. Mais il est conseillé de travailler sur des couches supérieures chez Sling ou AEM.