#macro(VelListToJSON $list ) | |
#set($myList = $list )## dereference | |
{ | |
#foreach($key in $myList.keySet()) | |
"$key": | |
#set($x = $myList.get($key)) | |
#VelToJSON($x) | |
#if($foreachCount != $myList.keySet().size()) , #end | |
#end | |
} | |
#end | |
#macro(VelArrayToJSON $arr) | |
#set($myArr = $arr) | |
[ | |
#foreach($x in $myArr) | |
#VelToJSON($x) | |
#if($foreachCount != $myArr.size()) , #end | |
#end | |
] | |
#end | |
##TODO: Make it not treat numbers as strings | |
#macro(VelToJSON $item) | |
#if($item.keySet()) | |
#VelListToJSON($item) | |
#elseif($item.size()) | |
#VelArrayToJSON($item) | |
#elseif($item == true || $item ==false) | |
$item | |
#else | |
"$item" | |
#end | |
#end |
This comment has been minimized.
This comment has been minimized.
@mexitek @narenranjit |
This comment has been minimized.
This comment has been minimized.
@TheClassic gists don't support notifications :( you won't get this mention but maybe you'll revisit this topic someday :) |
This comment has been minimized.
This comment has been minimized.
Please note that JSON (like JavaScript) has encoding and escaping rules that will not be followed by this code. So for example, if your strings are allowed to contain characters like |
This comment has been minimized.
This comment has been minimized.
Sorry for the question, I'm new to VTL, but it would be nice to have a usage example of the code above.. |
This comment has been minimized.
This comment has been minimized.
@sacredwx I haven't done velocity for a while but you should be able to do something like
|
This comment has been minimized.
This comment has been minimized.
thank you for suggestion! |
This comment has been minimized.
Modified a bit. Now checks for Numbers: