通常,当使用Jackson进行多态反序列化时,我有一个映射到类的字符串字段,可以这样做。
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "methodName")
@JsonSubTypes({
@JsonSubTypes.Type(value = MyFirstClass.class, name = "firstClassName"),
@JsonSubTypes.Type(value = MySecondClass.class, name = "secondClassName")})
如果值是整数而不是字符串,我找不到任何简单的示例来说明如何做到这一点。例如,如果我的JSON包含"methodName":1而不是"methodName":"firstClassName“,我该如何选择要反序列化到哪个类?
发布于 2013-08-01 02:54:22
要做到这一点,没有“简单”的方法。您必须编写自己的序列化机制实现,以及一个用于反序列化的实现。这种实现的危险是如此之多,你最好引用你的typeinfo属性并将其作为字符串使用。
https://stackoverflow.com/questions/17978457
复制相似问题