JacksonでJsonから特定の要素をデシリアライズしたくない場合のメモ

📅 2015/03/17

Android Jackson

以下のようなJsonとデシリアライズ先クラスがありlistの要素だけデシリアライズしたくない場合にtitleフィールドをStringに変更するのは間違いです。

Can not deserialize instance of java.lang.String

Data.java

public class Data {
    String id;
    List<Title> title;
    public static class Title {
        String title;
    }
}

sample.json

{
    "id": "12345",
    "list": [
        {
            "title": "ふしぎの海のナディア"
        },
        {
            "title": "ガンバの冒険"
        }
    ]
}

Data.javaクラスのtitleフィールドをObjectにすると後でデシリアライズできる。

Data.java

public class Data {
    String id;
    Object title;
}