杰克逊映射器与polymorphimsm

时间:2013-09-22 12:48:04

标签: java json serialization jackson

我有以下结构的课程:

class Member {
      public long id;
      public String name;
      public String type;
      public Pet pet; 
};

public abstract class Pet {
}

public CatPet extends Pet {
     public int  age;
     public String color;
}

public DogPet extends Pet {
     public int age;
     public String breed;
}

我必须将类Member的对象序列化为JSON字符串,反之亦然。我可以以某种方式进行序列化,使得类成员中的对象Pet的序列化将依赖于成员'类型'。如果type =“cat”,它应该使用类CatPet进行序列化/反序列化。

1 个答案:

答案 0 :(得分:0)

是的,您通常在基类上使用注释@JsonTypeInfo来指示如何使用多态类型信息。有了它,事情将会正常工作"。