Your achievements

Level 1

0% to

Level 2

Tip /
Sign in

Sign in to Community

to gain points, level up, and earn exciting badges like the new
BedrockMission!

Learn More

View all

Sign in to view all badges

data-sly-list iteration for a JsonArray

Avatar

Avatar
Validate 1
Level 1
rajaram33
Level 1

Like

1 like

Total Posts

7 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile

Avatar
Validate 1
Level 1
rajaram33
Level 1

Like

1 like

Total Posts

7 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile
rajaram33
Level 1

03-03-2021

 
 

Hi AEM Gurus,

 

I have a JSON Array like below sample

 

 

{
"sites": {
"label": "Parent LABEL",
"mobileLabel": "Parent Mobile Label",
"items": [
{
"href": "www.google.com",
"id": "goog",
"label": "Google Search"
},
{
"href": "www.yahoo.com",
"id": "yah",
"label": "yahoo site"
},
{
"href": "www.wikipedia.com",
"id": "wiki",
"label": "wikipedia"
}
]
}
}

Now i am trying to Iterate and get the values from this JSON array using data-sly-list something like as shown in below structure

<ul data-sly-list.key="${model.jsonarray}">
<li><a  href="${key.href}">${key.label} - ${key.id}</a></li>
</ul>

I know we can iterate Arraylist or a Map object but how do I iterate a JSON array. Please suggest.

 

Regards,

Rajashankar.R

 

 

 

data-sly-list htl jsonarray
View Entire Topic

Avatar

Avatar
Validate 1
Level 1
rajaram33
Level 1

Like

1 like

Total Posts

7 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile

Avatar
Validate 1
Level 1
rajaram33
Level 1

Like

1 like

Total Posts

7 posts

Correct Reply

0 solutions
Top badges earned
Validate 1
Boost 1
View profile
rajaram33
Level 1

04-03-2021

 

Hi @BrianKasingli @KiranVedantam1992 ,

I tried as suggested by creating a Link with hashmap

 

 

public List<HashMap<String, String>> getListItem(JSONObject taxanomyDat) {
log.info("Inside Model getDemoItem");

List<HashMap<String, String>> prodArrayList = new ArrayList<HashMap<String, String>>();

Map<String, String> siteLink = new LinkedHashMap<String, String>();

siteLink.put("label1", "www.gmail.com");
siteLink.put("label2", "www.yahoo.com");
prodArrayList.add((HashMap<String, String>) siteLink);

return prodArrayList;
}

public List<HashMap<String, String>> getDemoItem() {
return demoItem;
}

 

 

And in HTL i am not sure What mistake i am doing or how to get the key and value inside haspmap of arraylist.

 

 

<div class="cmp-helloworld__item" data-sly-use.model="com.myapp.core.models.SampleModel">
<p class="cmp-helloworld__item-label">Model message:</p>
<ul data-sly-list="${model.demoItem}">
<li >${item.siteLink}</li>
</ul>
</div>