1

保存形式として JSON を使用しています。

オブジェクトのフィールド名を変更すると、GSON は古いバージョンのロード時に元のフィールドを黙って破棄します。新しい名前と一致しなくなるからです。

リファクタリングで誤ってこれを行った場合、「警告: 逆シリアル化中に ObjectType に variableName が見つかりません」などの通知を受け取ることができるようにしたいと考えています。@Version アノテーションがありますが、それはまさに私が探しているものではありません。

JSON のフィールドが型に存在しない場合にエラーをスローするカスタム デシリアライザーまたはカスタム型コンバーターを作成した人はいますか? これを行う別のシリアル化ライブラリはありますか?

編集:誰かが持っているなら、これも同様に行うGSONデシリアライザーにまだ興味があります。

4

1 に答える 1

-1

Jacksonは、予期しない JSON 要素で失敗するために使用できます。Jackson は、 http://www.cowtowncoder.com/blog/archives/2010/09/entry_414.htmlで説明されているように、バインドされていないすべての JSON 要素を収集 (およびログ) するように構成することもできます(「any setter」を検索してください)。

すでに Gson に精通している場合は、 http: //programmerbruce.blogspot.com/2011/07/gson-v-jackson-part-6 の Gson ユーザー ガイドで説明されているのと同じことを行うために Jackson を使用する方法を文書化しました。.html .

于 2013-04-07T04:33:12.280 に答える