在使用Jackson反序列化期间选择性地忽略JSON属性

时间:2014-04-28 09:40:04

标签: java json performance jackson

我想在反序列化阶段有选择地忽略JSON属性。我目前正在处理一个巨大的JSON文件,需要花费很长时间才能在慢速Android设备上进行反序列化。我想在应用程序生命周期的不同阶段指定一些不反序列化的属性。问题是,有时我需要数据,我需要能够在实际需要时对被忽略的数据进行反序列化。

我正在使用Jackson和ObjectMapper。

示例POJO:

public class Pojo {
    private String name;
    private Map<String, String> data;

    ...
}

示例JSON:

{
    "pojos" : [ {
        name : "Name",
        data : {
            "somedata1" : "somevalue1",
            "somedata2" : "somevalue2",
            "somedata3" : "somevalue3"
            ...
        }
    } ]
}

将有大量的“pojos”,每个“数据”属性将变得巨大。因此,有时我想忽略“data”属性进行反序列化。有时我希望“数据”能够正常反序列化。

1 个答案:

答案 0 :(得分:1)

通过使用不同的类,您可以创建一个适合服务接口中的类的超类,然后创建2个或更多子类...所以希望在服务中不应该更改任何内容

相关问题