Skip to content

Instantly share code, notes, and snippets.

@dasheck0
Last active March 30, 2018 12:08
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 dasheck0/2fdaa8daf0c24c4044eeb64198a5d472 to your computer and use it in GitHub Desktop.
Save dasheck0/2fdaa8daf0c24c4044eeb64198a5d472 to your computer and use it in GitHub Desktop.
Can be used to format output of toString Method as actual JSON
/*
Formats toString Method output as actual JSON. This way the output can be put into
any JSON prettifier to make it more readable.
You can add a new template using Menu > Code > Generate... > toString() > Settings > Templates
See https://www.jetbrains.com/help/idea/generate-tostring-settings-dialog.html for more information
*/
public java.lang.String toString() {
#if ( $members.size() > 0 )
#set ( $i = 0 )
return "{" +
#foreach( $member in $members )
#if ( $i == 0 )
"##
#else
", ##
#end
#if ( $member.objectArray )
#if ($java_version < 5)
\"$member.name\": " + ($member.accessor == null ? null : "[" + java.util.Arrays.asList($member.accessor) + "]") +
#else
\"$member.name\": " + java.util.Arrays.toString($member.accessor) +
#end
#elseif ( $member.primitiveArray && $java_version >= 5)
\"$member.name\": [" + java.util.Arrays.toString($member.accessor) + "]" +
#elseif ( $member.string )
\"$member.name\": " + '"' + $member.accessor + '"' +
#else
\"$member.name\": " + $member.accessor +
#end
#set ( $i = $i + 1 )
#end
'}';
#else
return "{}";
#end
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment