我有一个自定义序列化程序,我将其中的值更改为其他类型。我不知道那种类型会是什么,所以我想委托杰克逊来弄清楚如何序列化它(因为杰克逊已经具备了所有这些功能)。我有什么方法可以在MySerializer中做到这一点吗?换句话说,我不想对结果值的类型做一个大的switch语句来确定JsonGenerator的哪个方法要使用。 (代码在Kotlin,顺便说一句)
class MySerializer() : JsonSerializer<Any?>() {
override fun serialize(value: Any?, gen: JsonGenerator?, serializers: SerializerProvider?) {
// Here I transform the value to another type and want to delegate to Jackson to determine how it should be serialized
val myNewVal = someFunction(value)
// something like super.serialize(myNewVal)???
}
}