Jackson を使用して JSON オブジェクトの新しいフィールドを無視する [重複] 質問する

Jackson を使用して JSON オブジェクトの新しいフィールドを無視する [重複] 質問する

私は Jackson JSON ライブラリを使用して、Android アプリケーションでいくつかの JSON オブジェクトを POJO クラスに変換しています。問題は、アプリケーションの公開中に JSON オブジェクトが変更され、新しいフィールドが追加される可能性があることですが、現在は単純な文字列フィールドが追加されても機能しなくなるため、無視しても問題ありません。

Jackson に新しく追加されたフィールドを無視するように指示する方法はありますか? (例: POJO オブジェクトに存在しないフィールド) グローバルに無視できればすばらしいと思います。

ベストアンサー1

Jacksonはクラスレベルで使用できるアノテーションを提供します(JsonIgnoreProperties)。

クラスの先頭に次のコードを追加します (個々のメソッドではありません)。

@JsonIgnoreProperties(ignoreUnknown = true)
public class Foo {
    ...
}

使用している jackson のバージョンに応じて、現在のバージョンでは異なるインポートを使用する必要があります。

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;

以前のバージョンでは次のようになっていました:

import org.codehaus.jackson.annotate.JsonIgnoreProperties;

おすすめ記事