问题定义:
有一个 Java 服务器存储JSON
可以映射到 Java 类的数据。Java 类可能会发生变化。目标是能够更新 Java 类,并且仍然能够将JSON
旧版本的数据解码为新版本的 Java 对象。应该有一个好的版本控制系统。例如,能够使用默认值向 Java 类添加新字段。在旧JSON
数据没有该字段的情况下,Java 对象可以使用该字段的默认值。
问题:
- 我见过
GSON
,但是版本控制支持太有限了。
我错过了什么?是否有其他库具有更好的版本控制支持?
- 应该如何存储这些
JSON
数据?
我看到两个选项。选项 1:我可以将这些JSON
文件(如果它们具有相同的版本,则它们具有共同的结构)单独存储在一个文件夹中。例如,我有 2 个文件:json/j1.json 和 json/j2.json。选项 2:我可以使用NoSQL
数据库,例如MongoDB
. 但这比以前的选择有优势吗?要求 a BasicDBObject
in a是没有意义的,DBCollection
因为我需要它才能将它转换为另一个 Java 类。在这种情况下推荐哪个选项?也许另一种选择更适合?