IDEA 自定义ToString方法的输出为Json格式
有时候我们需要方便查看数据,这个时候需要定制格式化输出的形式。
网上找到的几种都没有解决A类有继承B类的情况,即需要打印super.toString()。这时候我们可以按照下面代码写一个自定义的template。
步骤1
在你类文件里调出tostring界面,点击tostring
步骤2
点击settings选项
步骤3
1处点击+号新增加一个,写上你给这个template起的名字,然后填入格式化模板代码,点击ok保存。
public java.lang.String toString() {
return "{\"$classname\":{"
#set ($i = 0)
#foreach ($member in $members)#if ($i == 0)
+"#####
#else
+",####
#end#if ($member.string || $member.date)
\"$member.name\":\""
#else
\"$member.name\":"
#end#if ($member.primitiveArray || $member.objectArray)
+java.util.Arrays.toString($member.name)
#elseif ($member.string || $member.date)
+$member.accessor+'\"'
#else
+$member.accessor
#end#set ($i = $i + 1)
#end
#if ( $class.hasSuper )
+"},\"super-$classname\":" +super.toString()+"}";
#else
+"}}";
#end
}
步骤4
此时你重新调出tostring方法格式化时,界面提示的是你选择的template,点击ok,选择它进行格式化
步骤5
最后,logcat已经可以输出这个json了
安装Chrome插件JSON-handle,或者用其它在线json工具,然后可以更方便分析现在打印出来的日志信息了。
附录
模板代码的语法参照Velocity语法,根据需要可自行修改。