In Specific
I need a way to print JSON
representation of a string value into the html page via thymeleaf.
In detail
I'm having a model attribute
which contains a string which is actually a string representation of the JSON
My thymeleaf
code
<script th:inline="javascript"> var value = [[${data.scriptValue}]]; </script>
print the variable as below
var value = '[[\"asd\",\"3\"],[\"asd\",\"1\"],[\"asdasd\",\"1\"]]';
But I want something like this as a javascript/JSON
array
var value = [["asd","3"],["asd","1"],["asdasd","1"]];
How to do this in thymeleaf?
JSON.Parse
but i need a way to do this from thymeleaf :)
Use the JavaScript function JSON.stringify() to convert it into a string. const myJSON = JSON.stringify(obj); The result will be a string following the JSON notation.
Thymeleaf templates are compiled on server side generating html code. Then, no thymeleaf code found on client side. The json data got of the api response is generated on client side. One way is use javascript to load the api response data into a html table.
The JSON.parse() method parses a JSON string, constructing the JavaScript value or object described by the string.
Convert String to JSON Using eval() The eval() function in JavaScript is used to take an expression and return the string. As a result, it can be used to convert the string into JSON.
Update - 2015/12/24
This feature is available in Thymeleaf 3
Refer The Thymeleaf textual syntax
in https://github.com/thymeleaf/thymeleaf/issues/395
// Unescaped (actual answer) var value = [(${data.scriptValue})]; //or var value = [# th:utext="${data.scriptValue}"/]; // Escaped var value = [[${data.scriptValue}]]; //or var value = [# th:text="${data.scriptValue}"/];
It's not possible at Thymeleaf 2. As Patric LC mentioned, there are two issues reported for this.
unescaped inline for scripts/css #12
Use Jackson for Javascript inlining of JSON #81
@Faraj, new version of Thymeleaf provides this functionality. They implement features for the issues that you mentioned. You can look here: http://www.thymeleaf.org/doc/articles/thymeleaf3migration.html
The main features:
[# ...] ... [/]
.([[...]])
and unescaped ([(...)])
.(/*[- ... -]*/)
and prototype-only (/*[+ ... +]*/)
comment blocks.(/*[# ...]*/)
.If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With