Jacksonでデシリアライズ時に不明プロパティを無視する方法
Jacksonでデシリアライズ時に、不明なプロパティが存在すると、com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException
が発生してしまう。
これを回避するには以下の2通りの方法がある。
- ObjectMapperに設定する方法
ObjectMapper
インスタンスに対して以下のようにconfigure
メソッドを利用して設定を行う
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
new ObjectMapper().configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
- デシリアライズ先クラスにアノテーションを追加する方法
デシリアライズ先のクラスに以下のようなアノテーションを追加する
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
@JsonIgnoreProperties(ignoreUnknown = true)
public class MyClass {
// 略
}