問題定義:
JSONJava クラスにマップできるデータを格納する 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この場合、どのオプションが推奨されますか? 多分別のオプションがより適していますか?