How to where to store JSON files to access JSON as it is in UI(Headless arch)

Avatar

Avatar

umamaheswariy46

Avatar

umamaheswariy46

umamaheswariy46

05-06-2018

Hi Team,

We have a situation where we need to store the .JSON files as it is in same path and UI application is going to access this file. This is headless architecture.

What is the best place to keep this and that place should be accessible to team members and they can be able to upload it to the AEM like assets.

Any suggestions or ideas on this?

Thanks

Uma

Accepted Solutions (1)

Accepted Solutions (1)

Avatar

Avatar

kautuk_sahni

Community Manager

Total Posts

5.6K

Likes

969

Correct Answer

1.1K

Avatar

kautuk_sahni

Community Manager

Total Posts

5.6K

Likes

969

Correct Answer

1.1K
kautuk_sahni
Community Manager

06-06-2018

Write a custom AEM service and then use JCR API to update the nodes.

Parse the values from JSON and then use API to update the nodes in the JCR -- for example:

//Store content from the client JSP in the JCR

   Node custNode = customerRoot.addNode("customer"+firstName+lastName+custId,"nt:unstructured");

              

  //make sure name of node is unique

  custNode.setProperty("id", custId);

  custNode.setProperty("firstName", firstName);

  custNode.setProperty("lastName", lastName);

See: Adobe Experience Manager Help | Persisting Adobe Experience Manager data in the Java Content Reposit... and Adobe Experience Manager Help | Submitting Adobe Experience Manager form data to Java Sling Servlets

If the Json data is huge then There are many libraries for serializing/deserializing JSON in java, the most notable is Google’s Gson: https://github.com/google/gson

Answers (5)

Answers (5)

Avatar

Avatar

Jörg_Hoh

Employee

Total Posts

3.0K

Likes

916

Correct Answer

1.0K

Avatar

Jörg_Hoh

Employee

Total Posts

3.0K

Likes

916

Correct Answer

1.0K
Jörg_Hoh
Employee

06-06-2018

Hi,

  • I have a file called tree.json on my local drive
  • I open my AEM 6.4 instance and browse into assets, /content/dam/we-retail
  • I drag and drop the tree.json into the browser window, triggering the upload it
  • tree.json is now being displayed as asset
  • I hit localhost:4502/content/dam/we-retail/tree.json
  • It is downloading the JSON file and it can be displayed correctly.

I did not have any problems with that approach.

Jörg

Avatar

Avatar

derrickm1745863

Avatar

derrickm1745863

derrickm1745863

19-11-2018

This could be because of the dispatcher configs allow  ".json"  extention to be accessible

Avatar

Avatar

umamaheswariy46

Avatar

umamaheswariy46

umamaheswariy46

07-06-2018

I tried same way, somehow it didnt work for me, Let me try again. Thanks

Avatar

Avatar

umamaheswariy46

Avatar

umamaheswariy46

umamaheswariy46

06-06-2018

Hi Jorg,

we are looking for that kind of option, where the team can go ahead and upload the JSON file and should be able to accessible in UI, I have uploaded and not able to read JSON from the publishers .. returning page not found.  This approach is working for txt and js but not JSON.

Is there any way that i can upload JSON into dam and can be able to read content of the file by accessing the URL ?

Thanks

Uma

Avatar

Avatar

Jörg_Hoh

Employee

Total Posts

3.0K

Likes

916

Correct Answer

1.0K

Avatar

Jörg_Hoh

Employee

Total Posts

3.0K

Likes

916

Correct Answer

1.0K
Jörg_Hoh
Employee

06-06-2018

Why don't you upload the JSON file as asset (just as you would upload images) and deliver it as is?

Jörg