让android studio的tostring生成json字符串

一、背景:

     今天有个需求,要把一个对象,转成json字符串传给h5,这个bean已经有非常悠久的历史了,如果一个一个属性手工转,将是一个不可想象的事情。那就开始想办法解决

二、解决思路:

      1、因为是要求一个json字符串,首先想到了android studio中generate中的toString。

         

     尝试使用toString转为字符串,结果得到的是

        

 那现在要解决的就是把上面的字符串改成json字符串就好了。

    2、在点击toString的时候,看到一个地方,感觉是个突破点

       

   3、点击settings,

看到右侧的语句,感觉离成功只差一步了。

4、点击左上角的+,创建新的templates

修改语句。

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
}

5、应用、保存。搞定

6、使用

7、看效果

三、结果验证是json字符串,可以转成json对象

四、总结:

    简单归纳

    1、在toString的templates中新增一个template,

    2、语句参考上面的语句

    3、再次调用toString的时候,选用新的template