0

kotlinx.serialization在 Kotlin 原生项目上使用,我Super class为我的模型定义了一个,所有模型都从它扩展而来。我定义了一个function要求toJSON()序列化模型内部的变量和字段的方法,所有类模型都有它。

@Serializable
open class Model {
   fun toJSON(): String = JSON.stringify(this);
}

我创建了一个子类

class Me : Model() {
  var name:String = "Jack";
}

但是当我调用IDE 时JSON.stringify(this),IDE 会向我发出警告:

这个声明是实验性的,它的使用必须用 '@kotlinx.serialization.ImplicitReflectionSerializer' 或 '@UseExperimental(kotlinx.serialization.ImplicitReflectionSerializer::class)' 标记

我注意了,我@ImplicitReflectionSerializer在没有工作的时候使用了注释。我的问题在哪里?

4

1 回答 1

2

这将在此处讨论。这是您正在使用的特定重载,它仍然是实验性的。因此,您的选择是使用另一个重载(采用序列化程序)或使用错误消息中提到的注释之一。如果您查看我链接的问题的答案(以及它后面的评论),您会看到它讨论了使用@UseExperimental以及应该在哪里使用。

于 2019-01-25T11:42:22.220 回答