Kotlin 通过Jackson对其中一个进行反序列化/序列化
我尝试在我的项目中通过使用Arrow()中的实现或使用我自己的实现来实现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> {
。我目前面临的问题是通过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,但我认为我会遇到类似的问题
提前感谢您的帮助