これを、Jacksonに対する設定で、一括で無効にする方法。
Jacksonのバージョン
compile 'com.fasterxml.jackson.core:jackson-databind:2.8.1'
入力のjson
{"name": "あいうえお"}
beanの定義
class Sample { private String name; private int age; @Override public String toString() { return "Sample{" + "name='" + name + '\'' + ", age=" + age + '}'; } }
Jacksonを使ったデシリアライズ処理
jsonにだけ存在する属性があった場合に例外を発生させる設定を無効化する設定を行う。
無効化する設定はDeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES。
final ObjectMapper mapper = new ObjectMapper(); // beanに存在しない属性があっても無視する(例外を発生させない) mapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); final String content = "{\"name\": \"あいうえお\"}"; final Sample sample = mapper.readValue(content, Sample.class); System.out.println("sample = " + sample);
結果
sample = Sample{name='null', age=0}