杰克逊反序列化多态类型

时间:2014-03-24 12:10:37

标签: polymorphism jackson

我见过杰克森反序列化@JsonTypeInfo的一个例子,即:

@JsonTypeInfo(
    use = JsonTypeInfo.Id.NAME,
    include = JsonTypeInfo.As.PROPERTY,
    property = "type")
@JsonSubTypes({
    @JsonSubTypes.Type(value = Cat.class, name = "cat"),
    @JsonSubTypes.Type(value = Dog.class, name = "dog")})
public class Animal {...}

我已经尝试过它并且工作正常。现在,问题是在示例类中,Cat和Dog是从Animal引用的,我想避免使用它。有没有办法从类Animal移动类型绑定,仍然有反序列化工作? 感谢

1 个答案:

答案 0 :(得分:1)

我在这里找到了答案:http://jira.codehaus.org/browse/JACKSON-654。所以我可以使用:     

mapper.registerSubtypes(Cat.class, Dog.class);