2013-09-22 121 views
0

我有以下結構類:傑克遜映射器polymorphimsm

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; 
} 

我必須序列類成員的對象轉換成JSON字符串,反之亦然。我可以以某種方式進行序列化,使得類成員中的對象Pet的序列化將依賴於成員'類型'。如果type =「cat」,它應該使用CatPet類來序列化/反序列化。

+0

你可以爲這個類實現你自己的解串器。請參閱此頁面:http://pilhuhn.blogspot.com/2013/07/custom-deserializer-in-jackson-and.html瞭解更多信息。 –

+0

看看傑克遜維基:http://wiki.fasterxml.com/JacksonPolymorphicDeserialization – nutlike

回答

0

是的,您通常在基類上使用註釋@JsonTypeInfo來指示如何使用多態類型信息。這樣,事情就會「正常」。