Перегрузка StringFormat.stringify
, которая не принимает сериализатор (SerializationStrategy
), все еще является экспериментальной.Если вы посмотрите его определение (например, Ctrl + клик по нему в IDE), вы увидите, что оно выглядит следующим образом:
@ImplicitReflectionSerializer
inline fun <reified T : Any> StringFormat.stringify(obj: T): String = stringify(context.getOrDefault(T::class), obj)
Где аннотация ImplicitReflectionSerializer
сама объявлена в этом же файле (SerialImplicits.kt
):
@Experimental
annotation class ImplicitReflectionSerializer
Так как это все еще экспериментально, вам нужно сделать именно то, что говорит предупреждение, то есть сказать компилятору разрешить использование экспериментальных функций, добавив аннотацию, такую как @UseExperimental...
, гдевы используете его.
Обратите внимание, что быстрый пример , показанный в главном файле readme kotlinx.serialization
GitHub, показывает, что при вызове stringify
. * 1018 вам необходимо передать сериализатор.*