前言

IDEA中toString方法默认使用的是 属性名=属性值 ,这一格式进行进行属性输出,调用toString方法后生成的字符串不如JSON格式便于查看,IDEA提供了自定义模板的的能力,我们借助这一功能,可以将toString方法自定义成我们需要的JSON格式,步骤如下

  1. 任意代码位置Alt+Insert 打开如下界面,并选择toString()

  1. 点击setting按钮打开toString方法设置页面,如下
  2. 点击 + 号即可添加toString模板,命名为JSON后点击OK,此时页面如下
  3. 复制以下代码到右侧空白处保存
public java.lang.String toString() {final java.lang.StringBuilder sb = new java.lang.StringBuilder();
sb.append("{")
#if ( $class.hasSuper )
.append("\"super\":").append(super.toString()).append(", ")
#end
#set ($i = 0)
#foreach ($member in $members)#if ($i == 0).append("\"$member.name\":")###else.append(", \"$member.name\":")###end#if ($member.primitiveArray || $member.objectArray).append(java.util.Arrays.toString($member.name))#else.append($member.accessor)#end#set ($i = $i + 1)
#end
.append('}');
return sb.toString();
}
  1. 以上代码中,4、5、6三行表示调用父类的toString方法,输出父类中的属性,如果不需要可自行删除

  2. 确认代码无误之后,点击OK即可保存

  3. 返回代码后再次Alt+Insert按钮,并选择toString(),之后手动选择toString的模板为刚才新建的JSON模板,最后点击OK

  4. 生成toString方法如下:
    Person父类:

 @Overridepublic String toString() {final StringBuilder sb = new StringBuilder();sb.append("{").append("\"gender\":").append(gender).append(", \"name\":").append(name).append(", \"age\":").append(age).append('}');return sb.toString();}

调用toString方法输出如下:

{"gender":女, "name":小红, "age":12}

Student子类:

  @Overridepublic String toString() {final StringBuilder sb = new StringBuilder();sb.append("{").append("\"super\":").append(super.toString()).append(", ").append("\"grade\":").append(grade).append(", \"clazz\":").append(clazz).append(", \"setList\":").append(setList).append('}');return sb.toString();}

调用toString方法输出如下:

{"super":{"gender":女, "name":小红, "age":12}, "grade":7年级, "clazz":1班, "setList":[1, 2]}
  1. 写在最后

因为是简单的toString输出,所以并未定义成很严格的json格式,比如,字符串类型的值,输出未加双引号,但是已经能够很清楚的表现出具体的结构了,所以也就没有纠结那么多了,如果有严格要求的小伙伴,可以自行修改模板以达到想要的效果

如果该教程可以满足您的需求,请给个赞,谢谢 [\抱拳]

IDEA toString方法输出JSON格式相关推荐

  1. java json数据输出,java服务器端输出JSON格式数据

    java服务器端输出JSON格式数据 本文我们讨论如何在服务器端输出 JSON 格式的数据.以 Java 为例,我们将演示将一个 Java 对象编码为 JSON 格式的文本. 将 String 对象编 ...

  2. webapi输出炜json_.Net基于MVC4 Web Api输出Json格式实例

    本文实例讲述了.Net基于MVC4 Web Api输出Json格式的方法,分享给大家供大家参考.具体实现方法如下: 1.Global 中增加json输出 GlobalConfiguration.Con ...

  3. 在JSP页面中输出JSON格式数据

    JSON-taglib是一套使在JSP页面中输出JSON格式数据的标签库. JSON-taglib主页: http://json-taglib.sourceforge.net/index.html J ...

  4. php 正确的输出json格式

    2019独角兽企业重金招聘Python工程师标准>>> php 正确的输出json格式 php直接输出json格式,很多新手有一个误区,以为用echo json_encode($da ...

  5. C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法...

    C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决办法 原文:C# WebAPI中DateTime类型字段在使用微软自带的方法转json格式后默认含T的解决 ...

  6. php+json对象格式,PHP 创建对象来输出 JSON 格式

    PHP 想要输出 JSON [{0 -> xxx, north -> ooo}],但是没有对象(PHP: Objects),想要直接指定值,再使用 json_encode() 产生 JSO ...

  7. ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园

    ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园 ASP.NET Hashtable输出JSON格式数据

  8. php api json,PHP API接口必备之输出json格式数据实例详解

    这篇文章主要给大家介绍了关于PHP API接口必备之输出json格式数据的相关资料文中通过示例代码介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧. 前言 我们在日常的开发工 ...

  9. php怎么打印json数据,php输出json格式数据的例子

    php直接输出json格式,很多新手有一个误区,以为用echo json_encode($data);这样就是输出json数据了,没错这样输出文本是json格式文本而不是json数据,正确的写法是应该 ...

  10. SpringBoot-logback配置输出Json格式日志

    SpringBoot-logback配置输出Json格式日志 logback配置Json格式日志 参考 logback配置Json格式日志 直接上配置代码 <?xml version=" ...

最新文章

  1. 嵌入式Linux C笔试题积累(转)
  2. caffe配置中的一些问题
  3. 变频器lpm故障码是什么_什么是变频器软故障,如何解决?
  4. java B2B2C springmvc mybatis电子商务平台源码-消息队列之RocketMQ
  5. 可能是最全面的 Java G1学习笔记
  6. pidgin-qq可以使用QQ2012协议了
  7. xampp启动Apache报错 1、Error: Apache shutdown unexpectedly. 2、Unclean shutdown of previous Apache run?
  8. Python代码Linux
  9. jsp中page指令用法详解
  10. Android开发-数据回传
  11. VS201x提示无法查找或打开 PDB 文件
  12. IPC(进程间通信) | 信号量机制
  13. Java分数的加减乘除
  14. VB中Array函数
  15. 2010年会考计算机试题,2010年浙江省信息技术会考试题 选择题 - 多媒体 - 图文
  16. css第八课:文本属性(字体,颜色属性)
  17. ubuntu系统上进行usb相机端口绑定
  18. 计算机高特效吃鸡游戏主机配置单,吃鸡最高特效配置 万元i7-8700K/GTX1080Ti吃鸡特效全开配置 (全文)...
  19. 孙鑫老师VC笔记(转)
  20. [贴图]TVB香港大部分演员照片、姓名(值得收藏)

热门文章

  1. iOS股票K线图、分时图绘制
  2. cad插入块_CAD 自定义图块插入图块时图形离插入点很远怎么办?【AutoCAD教程】...
  3. Linux--Ubuntu的使用
  4. 医院预约挂号小程序 开题报告(基于微信小程序毕业设计题目选题课题)
  5. win10任务栏无反应假死解决办法
  6. 计算机 随机分组的方法,最小化随机分组方法介绍及其SAS实现
  7. 流水线上的农民:我在工厂种蔬菜
  8. 【论文解读】深度学习目标检测 | R-CNN系列里程碑 | 一文弄懂Faster R-CNN
  9. 对近来安庆天气特征的总结(夏季)
  10. JAVA第11章枚举与泛型总结