Skip to content

Instantly share code, notes, and snippets.

@raulrotundo
Forked from dkzwm/JSON use StringBuilder
Created February 13, 2020 09:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save raulrotundo/95e1f22d9e1e5321cd76f10619fdc0a7 to your computer and use it in GitHub Desktop.
Save raulrotundo/95e1f22d9e1e5321cd76f10619fdc0a7 to your computer and use it in GitHub Desktop.
IntelliJ IDEA toString templates for JSON output
public java.lang.String toString() {
final java.lang.StringBuilder sb = new java.lang.StringBuilder("{");
#set ($i = 0)
#foreach ($member in $members)#if ($i == 0)
sb.append("#####
#else
sb.append(",####
#end#if ($member.string || $member.date)
\"$member.name\":\"")
#elseif($member.collection)
\"$member.name\":");
#else
\"$member.name\":")
#end#if ($member.primitiveArray || $member.objectArray)
.append(java.util.Arrays.toString($member.accessor));
#elseif ($member.string || $member.date)
.append(java.util.Objects.toString($member.accessor,"")).append('\"');
#elseif($member.list)
if(($member.accessor) != null && !($member.accessor).isEmpty()){
sb.append("[");
final int size = ($member.accessor).size();
for(int i = 0; i < size; i++){
sb.append(($member.accessor).get(i));
if(i < size - 1){
sb.append(",");
}else{
sb.append("]");
}
}
}else{
sb.append("[]");
}
#elseif($member.collection)
if(($member.accessor) != null && !($member.accessor).isEmpty()){
sb.append("[");
for(java.lang.Object obj: $member.accessor){
sb.append(obj).append(",");
}
sb.replace(sb.length() - 1, sb.length(), "]");
}else{
sb.append("[]");
}
#else
.append($member.accessor);
#end#set ($i = $i + 1)
#end
sb.append('}');
return sb.toString();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment