我有一个抽象类使用
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "Type", visible = true)
和
@JsonSubTypes({
@JsonSubTypes.Type(value = ONE.class, name = "ONE"),
@JsonSubTypes.Type(value = TWO.class, name = "TWO")})
abstract class ZERO {....}
创建正确的类。
这很好用,但是,我现在有了一个新类(我们称之为三类),它是另一类的占位符。
所以说我得到这样的东西:
class THREE {
String ID;
}
我也有该类到某些具体类的映射,所以这个ID实际上是在说,应该从映射中获取该类
Map<String, ZERO> map
我想做这样的事情
class THREE_FACTORY{
@JsonCreator
public static ZERO create(@JsonProperty("ID") id){
return map.get(id);
}
}
但它不能很好地与子类型一起使用。
您有办法实现这一目标吗?通过使用我所说的话或其他我没有想到的方法?
这里最重要的是,零类列表根本不应该包含三个类,而应该替换它们,我不希望有包装类...