【发布时间】:2018-04-27 20:32:17
【问题描述】:
我想要一堆这样的类:
@Special("SpecialThing")
data class MyThing(
val myVal: String
)
这个特定实例的序列化格式是这样的:
{
"special": "SpecialThing",
"params": {
"myVal": "myValValue"
}
}
我希望能够对这些类型的注释类型进行序列化。
我希望做的一些事情:
- 将 Jackson 注释从这些类本身中排除(可能使用 mixins?)。我希望将 Jackson 特定的序列化与这些类型分开。
- 避免将
"SpecialThing"作为字段/属性 - 使用
"special"值反序列化为正确的类型
我可能无法同时完成所有这些,但我很难找到合适的杰克逊作品来实现我的目标。有一些内置功能接近我想要的(如JsonUnwrapped)
我可能会以某种方式使用@JsonTypeInfo 和多态继承,但我希望有一种更简洁、更直接的方法。
如何处理这些需要“包装”的类型的序列化/反序列化?
【问题讨论】: