Java 如何将Jackson与泛型结合使用

Java 如何将Jackson与泛型结合使用,java,generics,serialization,jackson,Java,Generics,Serialization,Jackson,我有以下对象结构: public class Animal<T> implements IMakeSound<T> public class Dog<T> extends Animal<T> public class Cat<T> extends Animal<T> 但这不是我想要的行为-我不使用 有没有办法使用java泛型并获得正确的序列化对象? 有没有一种不用注释就能完成的方法 在从ObjectMapper读取值时,可

我有以下对象结构:

public class Animal<T> implements IMakeSound<T>
public class Dog<T> extends Animal<T>
public class Cat<T> extends Animal<T>
但这不是我想要的行为-我不使用

有没有办法使用java泛型并获得正确的序列化对象?

有没有一种不用注释就能完成的方法

在从ObjectMapper读取值时,可以指定TypeReference,以便解析正确类型的对象:

Cat<PuffyTail> fluffyKitty = objectMapper.readValue(jsonString,
        new TypeReference<Cat<PuffyTail>>(){});
Cat fluffyKitty=objectMapper.readValue(jsonString,
新类型引用(){});

因为泛型是编译时类型擦除的,所以您需要向Jackson提供有关如何创建泛型类型的提示。
Cat<PuffyTail> fluffyKitty = objectMapper.readValue(jsonString,
        new TypeReference<Cat<PuffyTail>>(){});