Need suggestion on storing data containing special characters | Community
Skip to main content
bilal_ahmad
Level 5
May 24, 2020
Solved

Need suggestion on storing data containing special characters

  • May 24, 2020
  • 3 replies
  • 6219 views

Dear community members,

I'm trying to create JCR nodes based on the data returned by http get. Some of the data contains special characters.

 

.. .. "details": [ { "label": "Présentation de l’entreprise:", "value": "<p style=\"margin: 0px;\">Chez , nous donnons aux gens la possibilit&eacute; d'interagir naturellement avec leurs divers appareils connect&eacute;.</p>" }, { "more-details": "Sommaire du poste: ", "value": "<p style=\"margin: 0in; margin-bottom: .0001pt;\"><span style=\"font-family: arial, helvetica, sans-serif; font-size: 10pt;\">" }, .. ..

 

I cannot directly save the data, can someone please suggest a way I can save this information? I need to display the information as well.

 

Just to give another insight, I cannot create i18 key-value pair for this data(yeah 😞 )

 

Thanks,

Bilal.

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by ArpitVarshney

Hi @bilal_ahmad 

why don't you create a node and save the whole API response as nope property?[Like a node "response" in JCR repository and a property apiResponse as key and json as value]

 

You can create the node and property in AEM programmatically and there are various ways of doing that like using sling or node API.

 

Go through below links to refer the code 

Programatically create node

create content node

 

Regards,

Arpit

 

3 replies

ArpitVarshney
Community Advisor
ArpitVarshneyCommunity AdvisorAccepted solution
Community Advisor
May 24, 2020

Hi @bilal_ahmad 

why don't you create a node and save the whole API response as nope property?[Like a node "response" in JCR repository and a property apiResponse as key and json as value]

 

You can create the node and property in AEM programmatically and there are various ways of doing that like using sling or node API.

 

Go through below links to refer the code 

Programatically create node

create content node

 

Regards,

Arpit

 

bilal_ahmad
Level 5
May 25, 2020

Thanks ton, @arpitvarshney for your sharing valuable thoughts, it was indeed thoughtful. If I save the whole JSON response as node, I have two things to accomplish:
1. Use the node data(saved json) to build a UI(show data on my page).

2. Search in the JSON(which i'm hesitant to do 😞 )

Do you know any way I can incorporate the architecture you shared, to save the incoming response and the things I want to achieve(above two points)?
Many Thanks,

Bilal.

Ankur_Khare
Community Advisor
Community Advisor
May 24, 2020
arunpatidar
Community Advisor
Community Advisor
May 24, 2020

This can be done easily.

Create node based on the response, valid node name can be set using https://helpx.adobe.com/experience-manager/6-2/sites/developing/using/reference-materials/javadoc/com/day/cq/commons/jcr/JcrUtil.html#createValidName(java.lang.String)

data can be mapped as child nodes and properties.

Encode property values before saving.

 

If you are planning to map this data for a component then you can divide these data into small components.

 

Arun Patidar