gpt4 book ai didi

gson - 使用 Gson 和 Kotlin 1.0 beta 4 反序列化具有惰性属性的类

转载 作者:IT老高 更新时间:2023-10-28 13:29:32 25 4
gpt4 key购买 nike

使用 Gson,我想反序列化一个包含惰性属性的 Kotlin 类。

使用 Kotlin 1.0 beta 4 在对象反序列化过程中出现以下错误:

Caused by: java.lang.InstantiationException: can't instantiate class kotlin.Lazy

在 Kotlin 1.0 beta 2 中,我曾经用 @Transient 注释标记属性,以告诉 Gson 跳过它。在 beta 4 中,这是不可能的,因为注释会导致编译错误。

This annotation is not applicable to target 'member property without backing field'

我不知道如何解决这个问题。有什么想法吗?

编辑:惰性属性被序列化为 JSON ("my_lazy_prop$delegate":{}),但这不是我想要的,因为它是从其他属性计算的。我想如果我找到一种方法来防止属性被序列化,那么反序列化崩溃就会得到修复。

最佳答案

由于 Kotlin 1.0 只需像这样标记字段以在反序列化期间忽略它:

@delegate:Transient 
val field by lazy { ... }

关于gson - 使用 Gson 和 Kotlin 1.0 beta 4 反序列化具有惰性属性的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34437052/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com