Expand my Community achievements bar.

SOLVED

JSON inside string

Avatar

Level 5

Hello Community - We run into an issue with storing the JSON inside a string property. Basically we have a property with the type String, in that property we are having a paragraph and hyperlinks in it. As part of the hyperlink, we need to store some JSON string. We tried using escape characters for JSON key and value but it is not saving in JCR. Could someone let me know the way to handle this use case. As we don't want to create a separate String / String [] property for storing the JSON.

 

String:

Test String <a data-test-attr="{\"Test\":\"Data\"}" href="https://www.google.com" >Test Page</a>

 

viki1101_3-1604076793168.png

 

 

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Did you try with encoding

 

<a data-test-attr="{%22Test%22:%22Data%22}" href="https://www.google.com" >Test Page</a>AEM-String-URL.png

View solution in original post

6 Replies

Avatar

Community Advisor

Hi @v1101 

Replace all double quotes with single quotes.

<a data-test-attr='{"Test":"Data"}' href='https://www.google.com'>Test Page</a>

AG

Avatar

Level 5
@Anudeep_Garnepudi - Thanks for your reply. As this is a JSON, I wanted to have it as double quotes rather than single quotes.

Avatar

Administrator
Thank you for sharing this answer.


Kautuk Sahni

Avatar

Level 8

Hi @v1101 

Try to add data attribute value within single quote as mentioned below, then it will save value as expected.

 

Test String <a data-test-attr='{"Test":"Data"}' href="https://www.google.com" >Test Page</a>

 

json.PNG

 

Access same data attribute values in front end:

json2.PNG

 

 

json1.PNG

 

Hope this helps!

Avatar

Correct answer by
Community Advisor

Did you try with encoding

 

<a data-test-attr="{%22Test%22:%22Data%22}" href="https://www.google.com" >Test Page</a>AEM-String-URL.png