【发布时间】:2012-10-17 10:04:26
【问题描述】:
我正在尝试反序列化一个相当复杂的 POJO JSON,我需要在其中定义一个特定的属性名称来进行类型解析,但未能找到这个相当简单的功能。
假设一个类:
class Example {
int id;
Map<String,Object> extras;
}
Jackson 正在将 POJO 正确序列化为 JSON,其中映射被序列化为键值映射,就像预期的那样:
{...
id:5,
extras:{object1:{...}, object2:{...}}
...}
现在我想告诉杰克逊通过它们的实际类型显式反序列化额外对象。所以我需要告诉杰克逊以某种方式将“object1”映射到类型 A,将“object2”映射到类型 B。
这可能吗?谢谢。
【问题讨论】:
-
是的,这是可能的。但是您可能需要为地图中的每个对象发送 json 类型信息。
-
我无法控制收到的 json,即使我知道对象类型。
-
您是如何辨别对象类型的?
-
按名称,我知道键“object1”属于类型A。