Skip to content

已阅读

0%

IntelliJ IDEA 设置json格式的toString()模板

IDEA

自定义idea toString()模板

标签:
IDEA
发布于 2023年7月18日
更新于 2023年8月1日

value值带双引号

ALT+INS 打开生成弹窗选择toString(),点击设置->点击模板->点击添加模板,设置名称将下面模板添加到代码体中即可,该方法会除数组外字段给key对应value添加双引号""

java
public java.lang.String toString() {
return "{"
#if ( $class.hasSuper )
"\"super\":"+super.toString()+", "
#end
#set ($i = 0)
#foreach ($member in $members)
    #if ($i == 0)
    +"\"$member.name\":"##
    #else
    +", \"$member.name\":"##
    #end
    #if ($member.primitiveArray || $member.objectArray)
    +java.util.Arrays.toString($member.name)
    #else
    +"\""+$member.accessor+"\""
    #end
    #set ($i = $i + 1)
#end
+'}';
}

生成代码格式如下:

json
{"font":"{"color":"0xFFFFFFFF", "size":"12", "name":"微软雅黑", "style":"1"}", "background":"true", "backgroundColor":"0xFF000000", "border":"true", "borderColor":"null", "xAlignment":"null", "yAlignment":"null", "dimension":"null", "id":"下拉列表1"}

注意: 已知当字段为如下类型生成的字符串存在无法json格式化,删除即可

  1. org.json.JSONArray

value值不带双引号

除String字段其余字段直接拼接,执行字段类型默认toString方法,设置方法同上

java
public java.lang.String toString() {
return "{"
#if ( $class.hasSuper )
"\"super\":"+super.toString()+", "
#end
#set ($i = 0)
#foreach ($member in $members)
    #if ($i == 0)
    +"\"$member.name\":"##
    #else
    +", \"$member.name\":"##
    #end
    #if ($member.primitiveArray || $member.objectArray)
    +java.util.Arrays.toString($member.name)
    #elseif ( $member.string )
    +"\""+$member.accessor+"\""
    #else
    +$member.accessor
    #end
    #set ($i = $i + 1)
#end
+'}';
}

Last updated: