Подключение библиотеки в Kotlin
Чтобы @Serializable и Json.encodeToString
собирались, нужны два шага в сборке: плагин компилятора
генерирует сериализаторы, а артефакт kotlinx-serialization-json
дает работу с JSON в рантайме. Версию плагина берут
той же, что у языка Kotlin.
В build.gradle.kts проекта добавляют плагин
org.jetbrains.kotlin.plugin.serialization и
зависимость на JSON-модуль. Для Kotlin 2.4.20
подходит связка с библиотекой 1.9.0:
plugins {
kotlin("jvm") version "2.4.20"
kotlin("plugin.serialization") version "2.4.20"
}
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.9.0")
}
После синхронизации Gradle исчезают ошибки на
импортах kotlinx.serialization. Классы с
@Serializable получают сгенерированный код
ещё на этапе компиляции, отдельный шаг кодогенерации
запускать не нужно.
Если в проекте уже указан плагин kotlin("jvm"),
строку с plugin.serialization добавляют рядом,
а блок dependencies дополняют одной
зависимостью. Остальные модули и настройки JVM
менять не требуется.