Java 数据对象的 toString()重写为 Json 格式的优劣

2021-04-07 14:47:42 +08:00
 yumc

如题 我认为在打印日志场景下,直接使用数据对象的 toString()输出 Json 格式文本非常方便,但是并没有在开发中发现有大规模这种用法,都有哪些不足呢

5747 次点击
所在节点    Java
26 条回复
timi
2021-04-08 09:06:59 +08:00
IDEA 可以定制 toString 模板,生成类似 json 风格的串:
https://blog.csdn.net/wenqiangluyao/article/details/109183224
securityCoding
2021-04-08 10:08:07 +08:00
@timi +1,直接模版生成拼接好就行了
yazinnnn
2021-04-08 11:42:25 +08:00
public class GenericJson extends GenericData implements Cloneable {
.....
@Override
public String toString() {
if (jsonFactory != null) {
try {
return jsonFactory.toString(this);
} catch (IOException e) {
throw Throwables.propagate(e);
}
}
return super.toString();
}
.....
}

google 的 sdk 里直接重写了 toString...
当然这是业务 api 才重写,并不是所有类....
aguesuka
2021-04-08 12:14:40 +08:00
性能什么的都是假的。
因为重写父类的方法付出的维护成本和心智负担远不止代码的工作量,没有足够回报就不要去动。
pancl
2021-04-08 19:35:00 +08:00
idea 生成重写方法生成 json 就是字符串拼接的🌝
ychost
2021-04-09 09:22:42 +08:00
基本都是通过 @ToString 来打印的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/768716

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX