Configuração de kotlinx.serialization
Adicione o plug-in
Configuração de kotlinx.serialization é uma aula grátis de Kotlin Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Kotlin Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Kotlin Academy inclui 4 aulas no total.
O que é kotlinx.serialization?
kotlinx.serialization é a biblioteca oficial do Kotlin para converter objetos de e para formatos como JSON.
- Kotlin puro, pronto para várias plataformas
- Geração de código em tempo de compilação (sem reflexão)
- Mantida pela JetBrains
Ela funciona com um plug-in do compilador e uma biblioteca de execução.
Por que usar um plug-in do compilador?
Ao contrário das bibliotecas baseadas em reflexão, kotlinx.serialization gera serializadores em tempo de compilação.
- Mais rápido, sem o custo da reflexão em tempo de execução
- Funciona no Kotlin/Native e no JS, onde a reflexão é limitada
- Seguro quanto aos tipos e verificado pelo compilador
Por isso, você deve aplicar o plug-in kotlin-serialization, não apenas adicionar uma dependência.
Aplicando o plug-in (DSL do Kotlin)
Em build.gradle.kts, aplique o plug-in de serialização com a mesma versão do plug-in do Kotlin.
plugins {
kotlin("jvm") version "2.0.0"
kotlin("plugin.serialization") version "2.0.0"
}Adicionando a dependência de execução
O plug-in gera o código, mas você também precisa da biblioteca de execução do JSON.
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
}O alinhamento de versões é importante
A versão de plugin.serialization deve corresponder à versão do compilador Kotlin. A biblioteca de execução tem sua própria versão independente.
- Versão do plug-in = versão do Kotlin (por exemplo, 2.0.0)
- A versão de execução é separada (por exemplo, 1.7.1)
Versões incompatíveis do plug-in e do Kotlin causam erros de compilação difíceis de interpretar.
Outros formatos
JSON é o formato mais comum, mas kotlinx.serialization oferece suporte a mais formatos por meio de artefatos adicionais:
kotlinx-serialization-json— JSONkotlinx-serialization-cbor— binário CBORkotlinx-serialization-protobuf— Protocol Buffers
Adicione apenas os artefatos dos formatos de que você precisa.
Equivalente em DSL do Groovy
Se o seu projeto usar Groovy em build.gradle em vez da DSL do Kotlin, a configuração será semelhante a esta.
// build.gradle (Groovy)
plugins {
id 'org.jetbrains.kotlin.jvm' version '2.0.0'
id 'org.jetbrains.kotlin.plugin.serialization' version '2.0.0'
}
dependencies {
implementation 'org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1'
}O ponto de entrada Json
Depois da configuração, use o objeto Json de kotlinx.serialization.json como seu principal ponto de entrada para codificação e decodificação.
import kotlinx.serialization.json.Json
val format = Json
// format.encodeToString(...) / format.decodeFromString(...)Um exemplo mínimo funcional
Este é o menor exemplo completo de ponta a ponta depois que o plug-in e a biblioteca de execução estiverem configurados.
import kotlinx.serialization.Serializable
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
@Serializable
data class City(val name: String, val population: Int)
fun main() {
val city = City("Istanbul", 15000000)
val json = Json.encodeToString(city)
println(json)
}Configuração multiplataforma
Em um projeto Kotlin Multiplatform, adicione a biblioteca de execução a commonMain para que todos os destinos a compartilhem.
sourceSets {
val commonMain by getting {
dependencies {
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.7.1")
}
}
}Erros comuns de configuração
Fique atento a estes problemas frequentes:
- Esquecer o plug-in — você verá
Serializer has not been found - A versão do plug-in não corresponde à versão do Kotlin
- Adicionar a biblioteca de execução, mas não o plug-in (ou vice-versa)
- Importação ausente de
encodeToString
Verificação rápida
Por que kotlinx.serialization exige um plug-in de compilação do Gradle?
Recapitulação
Você configurou kotlinx.serialization da seguinte forma:
- Aplicando o plug-in
kotlin("plugin.serialization")correspondente à sua versão do Kotlin - Adicionando a dependência de execução
kotlinx-serialization-json - Usando o objeto
Jsoncomo ponto de entrada
Em seguida, você anotará as classes de modelo com @Serializable.
Perguntas Frequentes
A aula “Configuração de kotlinx.serialization” é grátis?
Sim — o texto completo de “Configuração de kotlinx.serialization” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Kotlin Academy, atualize para CoddyKit PRO. O curso de Kotlin Academy inclui 4 aulas no total.
O que vou aprender em “Configuração de kotlinx.serialization”?
Adicione o plug-in Você pratica Kotlin Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Kotlin Academy?
Nenhuma experiência prévia é necessária. Kotlin Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.
Quanto tempo leva a aula “Configuração de kotlinx.serialization”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Kotlin Academy?
Sim. Cada aula de Kotlin Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Configuração de kotlinx.serialization
- Classes Serializáveis
- Codificação e Decodificação de JSON
- Serializadores Personalizados