我们有以下Json:
{
"type" : "1",
"otherStuff" : "2",
...
"items" : [
{
"commonItemAttribute" : "value",
"specificToType1" : "whatever"
...
}
]
}我们需要根据type属性将这些项多态地反序列化到不同的子类中。
是否可以在自定义Jackson反序列化程序中获取类型值?
使用提供给反序列化方法的JsonParser,我们可以安全地返回Json树吗?
我发现了关于多态反序列化的this blog,但它似乎需要项目本身的类型属性。
谢谢
发布于 2013-09-12 13:14:34
不支持这种JSON,因为当“外部”类型ids为form时:
{ "childType“:"SomeTypeId",”孩子“:{ ....}}
支持(使用@JsonTypeInfo.As.EXTERNAL_PROPERTY),它们只适用于简单类型,不适用于Collection或Map。
因此,如果您不能将JSON更改为更标准一点(包括元素的类型id是标准方法),您将需要使用自定义序列化程序、反序列化程序。
https://stackoverflow.com/questions/18713895
复制相似问题