問題定義:
JSON
Java クラスにマップできるデータを格納する Java サーバーがあります。Java クラスは変更される可能性があります。JSON
目標は、Java クラスを更新し、古いバージョンのデータを新しいバージョンの Java オブジェクトにデコードできるようにすることです。適切なバージョン管理システムが整っている必要があります。たとえば、デフォルト値を使用して Java クラスに新しいフィールドを追加する機能。古いJSON
データにこのフィールドがない場合、Java オブジェクトはフィールドのデフォルト値を使用できます。
質問:
- を見たことがあります
GSON
が、バージョン管理のサポートが限定的すぎます。
私は何か見落としてますか?より優れたバージョニングをサポートする他のライブラリはありますか?
JSON
そのデータをどのように保存する必要がありますか?
2 つの選択肢があります。オプション 1: これらのJSON
ファイル (バージョンが同じ場合は構造が共通) をフォルダーに個別に保存できます。たとえば、json/j1.json と json/j2.json の 2 つのファイルがあります。オプション 2:NoSQL
などのデータベースを使用できますMongoDB
。しかし、これは以前のオプションよりも利点がありますか? aを別の Java クラスにキャストできるようにする必要があるため、aBasicDBObject
で aを要求するのは無意味です。DBCollection
この場合、どのオプションが推奨されますか? 多分別のオプションがより適していますか?