【发布时间】:2016-11-25 10:06:51
【问题描述】:
我能够在 jackson 中尝试多态反序列化的简单案例。
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY,
property = "type", visible = true)
@JsonSubTypes({
@Type(value = A.class, name = "a"),
@Type(value = B.class, name = "b")
})
Class Base {
private String type;
...
}
Class A extends Base {
...
}
Class B extends Base {
...
}
但我面临的是我无法控制传入的 Json。 json看起来像
{ "type" : a, "params" : { .. fields for type A .. } }
{ "type" : b, "params" : { .. fields for type B .. } }
params 字段可以是 A 或 B 类型。 A 和 B 都继承自 Base,但决定 type 的列在 params 字段之外。
如何配置jackson查看类外的字段,然后决定实际类型
【问题讨论】:
标签: java json serialization jackson deserialization