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 }
}