Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/350.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 带有MSM的Jackson映射器_Java_Json_Serialization_Jackson - Fatal编程技术网

Java 带有MSM的Jackson映射器

Java 带有MSM的Jackson映射器,java,json,serialization,jackson,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

我的课程结构如下:

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”。如果type=“cat”,它应该使用CatPet类进行序列化/反序列化。

是的,您通常在基类上使用注释
@JsonTypeInfo
,以指示多态类型信息的使用方式。这样,事情就会“正常工作”

您可以为这个类实现自己的反序列化程序。查看此页面:了解更多信息。请查看Jackson Wiki: