通常可以通过注解解决,@JsonTypeInfo,@JsonSubTypes解决。
还可以通过泛型解决,利用JavaType的转换机制。
如:
calss A {
B b;
}
calss B{
String id;
}
calss C extend B{
String name;
}
calss D extend B{
String address;
}
JavaTypebc=mapper.getTypeFactory().constructParametricType(B.class,C.class);
JavaTypebd=mapper.getTypeFactory().constructParametricType(B.class,D.class);
b = mapper.readValue(obj,bc);
b = mapper.readValue(obj,bd);