Kotlin 通过Jackson对其中一个进行反序列化/序列化

Kotlin 通过Jackson对其中一个进行反序列化/序列化,kotlin,jackson,Kotlin,Jackson,我尝试在我的项目中通过使用Arrow()中的实现或使用我自己的实现来实现。我目前面临的问题是通过Jackson对这个类进行反序列化。我尝试在自己的代码中添加注释(不起作用),代码如下所示: @JsonTypeInfo(use= JsonTypeInfo.Id.CLASS, include= JsonTypeInfo.As.PROPERTY, property="class") @CordaSerializable sealed class Either<out L, out R> {

我尝试在我的项目中通过使用Arrow()中的实现或使用我自己的实现来实现
。我目前面临的问题是通过Jackson对这个类进行反序列化。我尝试在自己的代码中添加注释(不起作用),代码如下所示:

@JsonTypeInfo(use= JsonTypeInfo.Id.CLASS, include= JsonTypeInfo.As.PROPERTY, property="class")
@CordaSerializable
sealed class Either<out L, out R> {

    data class Left<out L>(val a: L) : Either<L, Nothing>()
    data class Right<out R>(val b: R) : Either<Nothing, R>()

    val isLeft: Boolean get() = this is Left<L>
    val isRight: Boolean get() = this is Right<R>

    @JsonValue
    fun <C> fold(ifLeft: (L) -> C, ifRight: (R) -> C): C {
        when (this) {
            is Left -> return ifLeft(a)
            is Right -> return ifRight(b)
        }
    }
}
@JsonTypeInfo(use=JsonTypeInfo.Id.CLASS,include=JsonTypeInfo.As.PROPERTY,PROPERTY=“CLASS”)
@可互换
密封类{
数据类左(val a:L):任意()
数据类权限(val b:R):任意()
val isLeft:Boolean get()=这是左侧
val isRight:Boolean get()=这是正确的
@JsonValue
有趣的折叠(ifLeft:(L)->C,ifRight:(R)->C):C{
什么时候(这个){
左->返回ifLeft(a)
是否正确->如果正确返回(b)
}
}
}
否则,我也愿意使用Arrow库的mixin,但我认为我会遇到类似的问题

提前感谢您的帮助