这些注释的目的是支持反序列化上的 多态性 。反序列化时,正在执行的实际代码将知道所期望的 类
。例如,反序列化为某些字段的类型。但是,如果该类具有子类(即子类型),那么泛型Jackson解串器如何知道要反序列化的字符串是哪个实际类?必须创建一个具体类型的实例(该类或其子类之一)并填充它。它知道创建哪个唯一的方法是,首先是否将该信息
写入 序列化中。
就像这个答案所说的,有三种方法可以做到-
选择适合您的用例的方法。
@JsonTypeInfo+
@JsonSubtypes是其中一种方法-
当您在编译时知道所讨论的类可能存在的所有可能的子类型时,它非常有用。



