将扩展属性序列化为JSON

3

Suppose I have a class like this:

class MyClass {
    val prop1 = "value1"
    val prop2 = "value2"
}

以及另一个文件中的扩展属性:

val MyClass.prop3
    get() = "something else"

MyClass 实例序列化为 JSON 后,我得到了以下结果:
{ prop1 : "value1", prop2 : "value2" }

我知道Kotlin扩展函数和属性会被编译成JVM的静态方法,所以我想知道是否有一种方式(或实用程序)可以将类的扩展属性和常规属性序列化。

1个回答

1
无法预先确定任何特定类在运行时会有哪些扩展。我可以为你的MyClass编写自己的扩展字段,你的代码将永远不会知道这一点。此外,扩展可以根据导入在模块的特定位置可用或不可用(记住需要导入扩展方法或字段吗?)。
因此,对于一个序列化程序来说,没有有效的方法可以了解您的扩展,并将它们序列化。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接