Есть ли лучший способ для обработки сериализации kotlinx? - PullRequest
0 голосов
/ 25 января 2019

Я использую kotlinx.serialization в родном проекте Kotlin, я определил Super class для своих моделей, и все модели вытекают из него. Я определил function для вызова toJSON() для сериализации переменных и полей внутри модели, которые есть во всех моделях классов.

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

И я создал подкласс

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

но когда я вызываю JSON.stringify(this), IDE получает предупреждение для меня:

Это объявление является экспериментальным, и его использование должно быть помечено '@ kotlinx.serialization.ImplicitReflectionSerializer' или '@UseExperimental (kotlinx.serialization.ImplicitReflectionSerializer :: class)'

Я обратил внимание и использовал аннотацию @ImplicitReflectionSerializer, пока она не работала. Где моя проблема?

1 Ответ

0 голосов
/ 25 января 2019

Это обсуждается здесь .Это конкретная перегрузка, которую вы используете, которая все еще является экспериментальной.Таким образом, вы можете либо использовать другую перегрузку (которая принимает сериализатор), либо использовать одну из аннотаций, упомянутых в сообщении об ошибке.Если вы посмотрите на ответ на вопрос, который я связал (и комментарии после него), вы увидите, что он говорит об использовании @UseExperimental и о том, где его следует использовать.

...