0Pricing
Kotlin Academy · Aula

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 — JSON
  • kotlinx-serialization-cbor — binário CBOR
  • kotlinx-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 Json como 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

  1. Configuração de kotlinx.serialization
  2. Classes Serializáveis
  3. Codificação e Decodificação de JSON
  4. Serializadores Personalizados
← Voltar para Kotlin Academy