首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据父类中的属性使用Jackson进行多态JSON反序列化?

如何根据父类中的属性使用Jackson进行多态JSON反序列化?
EN

Stack Overflow用户
提问于 2013-09-10 16:20:25
回答 1查看 384关注 0票数 2

我们有以下Json:

代码语言:javascript
复制
{
    "type" : "1",
    "otherStuff" : "2",
    ...
    "items" : [
        {
          "commonItemAttribute" : "value",
          "specificToType1" : "whatever"
          ...
        }
    ]
}

我们需要根据type属性将这些项多态地反序列化到不同的子类中。

是否可以在自定义Jackson反序列化程序中获取类型值?

使用提供给反序列化方法的JsonParser,我们可以安全地返回Json树吗?

我发现了关于多态反序列化的this blog,但它似乎需要项目本身的类型属性。

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-09-12 13:14:34

不支持这种JSON,因为当“外部”类型ids为form时:

{ "childType“:"SomeTypeId",”孩子“:{ ....}}

支持(使用@JsonTypeInfo.As.EXTERNAL_PROPERTY),它们只适用于简单类型,不适用于CollectionMap

因此,如果您不能将JSON更改为更标准一点(包括元素的类型id是标准方法),您将需要使用自定义序列化程序、反序列化程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18713895

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档