【发布时间】:2015-08-08 17:07:00
【问题描述】:
我正在用java设计一个程序
很多对象只是数据包,并不需要任何非静态方法。
我想从硬盘轻松保存和加载对象。
一些对象实例需要一个额外的属性,我可能会随着时间的推移添加或删除。
如果某些对象确实具有附加属性,那么我仍然会在大多数情况下将它们视为完全相同的对象。
似乎一个很好的解决方案是在运行时以 JSON 格式存储这些对象,并且从不实际为它们定义专用对象。你有什么理由不想这样做吗?即是否有任何理由以 json 格式存储对象只是为了方便而成为不好的做法?
【问题讨论】:
-
存储为 JSON 绝对是一个很好的解决方案。尽管如果您不在 Java 中为它们定义一个类,您将无法获得静态类型的任何好处。
-
使用 HashMap 来保存值,并使用 JSON 库(如 Jackson)来读取/读取文件
-
如果您只是将对象视为纯数据,例如从 A 到 B 的传输,JSON 就可以了。如果您想操作/更改数据的属性,如果您想直接访问其中的属性,则转换为对象会更简单。您还可以使用上述库来简化此操作。因此,这取决于您需要进行多少操作。
-
有些人,比如 Pythonistas,一生都以这种方式生活。
标签: java json oop object jsonobject