Moshi 在 Kotlin 惰性属性上失败
Moshi fails on Kotlin lazy properties
使用 Moshi 反序列化 class 时,它在 by lazy
属性 上失败,错误为:
IllegalArgumentException: No JsonAdapter for interface kotlin.Lazy annotated []
所以我想告诉Moshi忽略属性。忽略这一点的方法显然是使用 @Transient
但是只能在字段上使用 - 而不是 属性.
那么如何在使用 Moshi 反序列化时忽略 Kotlin 惰性属性?
您可以注释委托本身:
class Foo {
@delegate:Transient
val bar by lazy { true }
}
使用 Moshi 反序列化 class 时,它在 by lazy
属性 上失败,错误为:
IllegalArgumentException: No JsonAdapter for interface kotlin.Lazy annotated []
所以我想告诉Moshi忽略属性。忽略这一点的方法显然是使用 @Transient
但是只能在字段上使用 - 而不是 属性.
那么如何在使用 Moshi 反序列化时忽略 Kotlin 惰性属性?
您可以注释委托本身:
class Foo {
@delegate:Transient
val bar by lazy { true }
}