Есть ли лучший способ для обработки сериализации kotlinx?
Я использую 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 ответ
Это обсуждается здесь. Это конкретная перегрузка, которую вы используете, которая все еще является экспериментальной. Таким образом, вы можете либо использовать другую перегрузку (которая принимает сериализатор), либо использовать одну из аннотаций, упомянутых в сообщении об ошибке. Если вы посмотрите на ответ на вопрос, который я связал (и комментарии после него), вы увидите, что он говорит об использовании @UseExperimental
и где это должно быть использовано.