【发布时间】:2011-04-29 01:29:58
【问题描述】:
我有多态类型和从 JSON 到 POJO 的反序列化工作。事实上,我遵循了文档here。将 POJO 序列化为 JSON 时,我得到了一个不需要的属性,特别是逻辑类型名称。
import static org.codehaus.jackson.annotate.JsonTypeInfo.*;
@JsonTypeInfo(use=Id.NAME, include=As.PROPERTY, property="type")
@JsonSubTypes({
@JsonSubTypes.Type(value=Dog.class, name="dog"),
@JsonSubTypes.Type(value=Cat.class, name="cat")
})
public class Animal { ... }
public class Dog extends Animal { ... }
public class Cat extends Animal { ... }
当 Jackson 序列化为 JSON 时,它提供了我不想公开的类型信息。
{"type":"dog", ... }
{"type":"cat", ... }
我能以某种方式阻止这种情况吗?我只想在反序列化时忽略type。
【问题讨论】:
-
你说,“我只想在反序列化时忽略类型。”您的意思是“我只想在序列化时忽略类型”?
-
令我印象深刻的是,您设法从文档中弄清楚了这么多。在那个 wiki 页面上没有一个
@JsonSubTypes的使用示例。