Java 在使用Jackson反序列化期间选择性地忽略JSON属性
我希望在反序列化阶段有选择地忽略JSON属性。我目前正在处理一个巨大的JSON文件,在速度较慢的Android设备上反序列化需要很长时间,我想指定一些在应用程序生命周期的不同阶段不进行反序列化的属性。问题是,有时我需要数据,并且我需要能够在实际需要时反序列化被忽略的数据 我正在使用Jackson和ObjectMapper 示例POJO:Java 在使用Jackson反序列化期间选择性地忽略JSON属性,java,json,performance,jackson,Java,Json,Performance,Jackson,我希望在反序列化阶段有选择地忽略JSON属性。我目前正在处理一个巨大的JSON文件,在速度较慢的Android设备上反序列化需要很长时间,我想指定一些在应用程序生命周期的不同阶段不进行反序列化的属性。问题是,有时我需要数据,并且我需要能够在实际需要时反序列化被忽略的数据 我正在使用Jackson和ObjectMapper 示例POJO: public class Pojo { private String name; private Map<String, String&g
public class Pojo {
private String name;
private Map<String, String> data;
...
}
将有大量的“POJO”,每个“数据”属性都将变得巨大。因此,我有时希望通过忽略“data”属性进行反序列化。有时我希望“数据”能够正常反序列化。通过使用不同的类,您可以创建一个与服务接口中的类相匹配的超类,然后创建2个或更多的子类……因此,希望服务中没有任何更改。我们需要更多的操作。代码在哪里?您正在使用ObjectMapper吗?你们有一节课吗?几节课?您是否手动反序列化?规则是什么?数据结构是什么?一种方法是让不同的类具有不同的JsonIgnoreProperties注释,但没有任何信息。我也在考虑不同的类方法,但这意味着我需要更改我的服务接口,因为它依赖于序列化的类类型。我用示例代码和JSON编辑了这个问题,所以你所有的数据都是字符串映射?在这种情况下,你做不了什么。@Antionio通过使用不同的类,你可以创建一个与服务接口中的类相匹配的超类,然后创建2个或更多的子类……所以希望在service@AngeloImmediata你的方法似乎是有效的,所以如果你能给出一个正式的答案,我会接受。
{
"pojos" : [ {
name : "Name",
data : {
"somedata1" : "somevalue1",
"somedata2" : "somevalue2",
"somedata3" : "somevalue3"
...
}
} ]
}