【问题标题】:Using Jackson deduction without modifying POJO classes在不修改 POJO 类的情况下使用杰克逊推论
【发布时间】:2021-04-21 15:48:26
【问题描述】:

Jackson 有一个很棒的功能,它允许在不更改 JSON 结构的情况下执行多态反序列化。 Here's 例子。但是,我不能使用它,因为它需要在生成的类中添加 @JsonTypeInfo(use=Id.DEDUCTION)@JsonSubTypes({ ... }) 之类的注释。

我正在寻找在不更改 POJO 源代码的情况下实现相同行为的方法。例如,有没有办法通过配置对象映射器本身来做到这一点?

【问题讨论】:

    标签: java json spring jackson type-deduction


    【解决方案1】:

    ObjectMapper MixIns 似乎正是您想要的。

    创建一个类存根,例如:

    @JsonTypeInfo(use=Id.DEDUCTION)
    @JsonSubTypes({ ... })
    abstract class MyPojoMixIns {
    }
    

    然后用你的 ObjectMapper 注册它:

    objectMapper.addMixIn(MyPojo.class, MyPojoMixIns.class);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多