我正在使用 Jackson 并且遇到问题,当我尝试反序列化对象时出现以下错误:
com.fasterxml.jackson.databind.JsonMappingException:
Can not construct instance of net.MyAbstractClass,
problem: abstract types either need to be mapped to concrete types,
have custom deserializer, or be instantiated with additional type information
我在属性中遇到问题:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.WRAPPER_OBJECT, property = "@id")
@JsonSubTypes({ @JsonSubTypes.Type(value = MyAbstractClass.class, name = "MyAbstractClass") })
@ManyToOne
private MyAbstractClass object;
有人可以帮助我吗?
你不能实例化一个抽象类,杰克逊也不能。
您应该向 Jackson 提供有关如何使用具体类型实例化 MyAbstractClass 的信息。
请参阅 stackoverflow 上的这个答案:Jackson JSON 库:如何实例化包含抽象字段的类 https://stackoverflow.com/questions/5489532/jackson-json-library-how-to-instantiate-a-class-that-contains-abstract-fields
也许还看到Jackson 多态反序列化 https://github.com/FasterXML/jackson-docs/wiki/JacksonPolymorphicDeserialization
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)