用Jackson反序列化多态类型

用Jackson反序列化多态类型,第1张

用Jackson反序列化多态类型

感觉像是应该使用的东西

@JsonTypeInfo
@JsonSubTypes
但是我在文档中进行了选择,可以提供的任何属性似乎都不符合您所描述的内容。

您可以编写自定义反序列化器,以

@JsonSubTypes
非标准的方式使用’“ name”和“
value”属性来完成所需的 *** 作。反序列化器
@JsonSubTypes
将在基类中提供,而反序列化器将使用“名称”值检查属性的存在,如果存在,则将JSON反序列化为“值”属性中提供的类。您的课程将如下所示:

@JsonDeserialize(using = PropertyPresentDeserializer.class)@JsonSubTypes({        @Type(name = "stringA", value = SubClassA.class),        @Type(name = "stringB", value = SubClassB.class)})public abstract class Parent {    private Long id;    ...}public class SubClassA extends Parent {    private String stringA;    private Integer intA;    ...}public class SubClassB extends Parent {    private String stringB;    private Integer intB;    ...}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5174768.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-18
下一篇 2022-11-18

发表评论

登录后才能评论

评论列表(0条)

保存