【问题标题】:jackson polymorphic deserialization with a custom criteria具有自定义标准的杰克逊多态反序列化
【发布时间】:2018-11-16 13:40:45
【问题描述】:

我需要知道是否可以将通用对象反序列化为它的定义类型,而无需附加属性或在注释中不提及类型。

例如:-

@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS, include=JsonTypeInfo.As.PROPERTY, property="@class")

上面不得不提@class这个属性,另外一种方式是

@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY)
@JsonSubTypes({
 @JsonSubTypes.Type(value = Dog.class, name = "Dog"),
 @JsonSubTypes.Type(value = Cat.class, name = "Cat")
})

在上面的例子中,我们定义了子类和自定义类型。

使用自定义解串器StdDeserializer<T>

有没有其他方法可以做到这一点,请告诉我。

【问题讨论】:

    标签: java json spring serialization jackson


    【解决方案1】:

    如果您能找到一种从 JSON 数据中确定对象子类型的方法,您可以编写一个自定义的 TypeId 解析器来为您处理它。见Jackson Custom TypeId Resolver

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多