data-sly-list iteration for a JsonArray | Community
Skip to main content
March 3, 2021
Solved

data-sly-list iteration for a JsonArray

  • March 3, 2021
  • 8 replies
  • 8174 views
 
 

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

 

 

 

Best answer by BrianKasingli

You would need to serialize the JSON string to either a List<HashMap> or List<Link>. Once you return a valid List object to your slightly business logic, your code should work as expected. 

However, if your list looks something like List<Json> then that would also work as well. You ultimately just need to have a valid List object with valid item objects.

8 replies

BrianKasingli
Community Advisor and Adobe Champion
BrianKasingliCommunity Advisor and Adobe ChampionAccepted solution
Community Advisor and Adobe Champion
March 4, 2021

You would need to serialize the JSON string to either a List<HashMap> or List<Link>. Once you return a valid List object to your slightly business logic, your code should work as expected. 

However, if your list looks something like List<Json> then that would also work as well. You ultimately just need to have a valid List object with valid item objects.

rajaram33Author
March 4, 2021
Hi Brian,
Kiran_Vedantam
Community Advisor
Community Advisor
March 4, 2021

Hi @rajaram33,

 

You can use the below code, convert JSONArray to List and pass it to sightly.

 

ArrayList<String> listdata = new ArrayList<String>();
if (jArray != null) {
for (int i=0;i<jArray.length();i++){
listdata.add(jArray.getString(i));
}
}

 

Hope this helps.

 

Thanks,

Kiran Vedantam.

rajaram33Author
March 4, 2021
Let me try both options and get back soon please do not close this as resolved
rajaram33Author
March 4, 2021
 

Hi @briankasingli @kiran_vedantam ,

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>

 

 

 

 

 

 

 

 

 

 

BrianKasingli
Community Advisor and Adobe Champion
Community Advisor and Adobe Champion
March 4, 2021
June 25, 2024

Hi AEM Gurus,

 

I have a JSON Array like below sample

 

 

{
"sites": {
"label": "Parent LABEL",
"mobileLabel": "Parent Mobile Label",
"items": [
{
"href": "profile bio ",
"id": "goog",
"label": "Google Search"
},
{
"href": "profile bio /",
"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

August 20, 2024

Hi AEM Gurus,

 

I have a JSON Array like below sample

 

 

{
"sites": {
"label": "Parent LABEL",
"mobileLabel": "Parent Mobile Label",
"items": [
{
"href": "picpalace ",
"id": "goog",
"label": "Google Search"
},
{
"href": "picpalace",
"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>

Our collection of good morning monday images has the ideal visual to meet all your needs – from inspiring quotes and humorous quips to relaxing images

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

 

Regards,

Rajashankar.R

October 7, 2024


"href": "godimagesdownload",

"href": "godimagesdownload",
ction of Waheguru Good Morning Images  has the ideal visual to meet all your needs – from inspiring quotes and humorous quips to relaxing images

 

August 20, 2024

Our collection of good morning monday images has the ideal visual to meet all your needs – from inspiring quotes and humorous quips to relaxing images

August 20, 2024

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}">

Our collection of good morning monday images has the ideal visual to meet all your needs – from inspiring quotes and humorous quips to relaxing images

March 18, 2025

Capture Your Special Moments with Our Best Wedding Photography in Delhi NCR ! Your wedding day is a once-in-a-lifetime event, and we’re here to capture every precious moment. Our talented photographers specialize in creating timeless images that tell your unique love story. Serving all areas of Delhi NCR, including South, East, Central Delhi, and Noida, we offer a wide range of services to fit your needs. Whether it's an intimate ceremony or a grand reception, we focus on preserving every detail for you to cherish forever. From professional wedding photography to pre-wedding shoots, our team ensures your special day is captured beautifully. We also offer destination wedding photography, bringing our expertise to any location.

 

October 3, 2024

Staffing Solutions

 

 

At MNR Solutions, we focus on delivering competency-based and quality staffing solutions driven by dynamic business needs across the multi-industry sectors. From timely temporary staffing on quick projects to permanent staffing for long-term organizational success and executive staffing for strategic firms, our staffing services will provide you with all the staffing solutions you require.

December 10, 2024

Unlock your potential with Success Point College’s Master of Business Administration (MBA) program, designed for aspiring professionals and business leaders. Our MBA program in dubai , available to students in both Sharjah and Dubai, offers a comprehensive curriculum that equips you with advanced skills in management, strategy, finance, and leadership.

March 18, 2025

Welcome to Sai CPA – Your Trusted Accounting Partner

At Sai CPA, we understand that managing finances, taxes, and compliance requirements can be overwhelming. With years of expertise in accounting, tax preparation, auditing, and financial consulting, we provide businesses and individuals with the highest level of professional financial services. CPA firm new jersey

Why Choose Sai CPA?

  1. Expertise You Can Trust
    Our team of certified public accountants (CPAs) has extensive experience in handling tax planning, business accounting, and financial management for individuals, startups, and established businesses.

  2. Personalized Financial Solutions
    We recognize that every client has unique financial goals. That’s why we provide customized tax and accounting strategies to help you maximize savings and ensure financial stability.

  3. Comprehensive Tax Services
    Whether you need assistance with income tax filing, tax resolution, corporate tax strategies, or IRS representation, our team is here to guide you through the complexities of tax laws while ensuring compliance with the latest regulations.

  4. Bookkeeping & Payroll Management
    Maintaining accurate financial records is crucial for the success of any business. We offer bookkeeping, payroll processing, and financial reporting services to keep your operations running smoothly.

  5. Audit & Assurance Services
    Our audit services help businesses maintain financial transparency and comply with industry regulations. We conduct independent audits and internal reviews to enhance financial credibility.

  6. Business Consulting & Entity Formation
    If you're starting a new business, we provide guidance on business entity selection, financial planning, and strategic growth planning, ensuring you start on a strong foundation.

Industries We Serve

We cater to a wide range of industries, including:

✅ Small Businesses & Startups
✅ Real Estate & Construction
✅ Healthcare & Medical Professionals
✅ E-commerce & Retail
✅ Non-Profit Organizations
✅ Professional Services

Get in Touch Today!

At Sai CPA, our goal is to simplify your financial journey and help you make informed decisions that drive growth and success. Whether you need tax assistance, accounting support, or financial consulting, we are here to help!