Aem Nodes to JsonArray

Avatar

Avatar

Kiranchonkar

Avatar

Kiranchonkar

Kiranchonkar

17-03-2021

Hi all,

 

I am using aem 6.5

I have a requirement for converting aem page nodes to json.

Previously I used jsonItemWriter.dump method which converts data directly.

But this method is deprecated.

And second thing is in multifield we get data as item0,item1 in jsonobject format.

But my requirement is to convert this multifield to JsonArray.

 

Kindly guide for same

AEM 6.5 JSON Nodes converter

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

Rohit_Utreja

Avatar

Rohit_Utreja

Rohit_Utreja

17-03-2021

@Kiranchonkar,

 

You can use the sling model exporter to expose the data in JSON format.

Please refer to the below URL to create the sling model export.

https://github.com/auniverseaway/sling-exporter-sample/tree/master/src/main/java/org/millr/sling

 

Now, to fetch details of multifield nodes, Please follow the below steps.

  1. Create a sling model class for the item node of multifield. E.g. if your multifield has firstName and lastName, then this sling model class(e.g. multifieldNodeModel.java)  will contain these two fields and respective getters.
  2. Create a parent sling model for the component. In this sling model, include sub sling model of the multifield node(multifieldNodeModel).

    public class componentSlingModel{
        @ChildResource
    private List<multifieldNodeModel> multifieldNodeModel;
         public List<multifieldNodeModel> getMultifieldNodeModel(){
           return multifieldNodeModel;
    }
    }


This way we can map the data of nodes to the sling model and it can be exported to the JSON format using sling model export.

Let me know if you have any questions.

Answers (0)