Highlighted

Returning list of pages at given path in JSON format.

Avatar

Avatar

vivekanandu8544

Avatar

vivekanandu8544

vivekanandu8544

03-10-2018

Hi Team,

I have a requirement where I need to return list of pages available at given path. This service should return json structure, which would return name and title of the each page.

Any help would be greatly appreciated.

Thanks in advance.

Replies

Highlighted

Avatar

Avatar

raj_mandalapu

Avatar

raj_mandalapu

raj_mandalapu

03-10-2018

You need to iterate child pages and export in the form of JSON, if you are familiar with sling models then you can use sling model exporter, check below link

http://keysandstrokes.info/aem-code-snippets-export-page-data-as-json-format-using-sling-model-expor...

Approach 2:

Pass page path as a parameter to the servlet and in the servlet iterate child pages and using Gson convert that into JSON format. you need to Json mime type to see the output in JSON format when we request servlet

Highlighted

Avatar

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

958

Correct Answer

820

Avatar

Arun_Patidar

MVP

Total Posts

2.9K

Likes

958

Correct Answer

820
Arun_Patidar
MVP

03-10-2018

Hi,

You can try with QueryBuilder Debugger

e.g.

http://localhost:4502/bin/querybuilder.json?p.hits=selective&p.limit=-1&p.properties=jcr%3acontent%2...

http://localhost:4502/libs/cq/search/content/querydebug.html

Query

path=/content/

type=cq:Page

p.hits=selective

p.properties=jcr:content/jcr:title jcr:path

p.limit=-1

Highlighted

Avatar

Avatar

Veena_Vikram

MVP

Avatar

Veena_Vikram

MVP

Veena_Vikram
MVP

03-10-2018

Apart from above solution I might go for below approach.

1) Send the path as parameter to your request

2) In the servlet/service , iterate the children

3) I will have a POJO like below to populate the children

public class Document {

     private String name;

     private String title;

     ....

    <getter and setter for both >

}

4) While iterating , add the name and title and form a list of this POJO .

5) Once the iteration is complete , convert the POJO to JSON using GSON API

  If you need more details do let me know

Thanks

Veena