Omnikit
DesenvolvimentoArquivosFinançasTodas as ferramentas
Ctrl K
Ferramentas para desenvolvedoresFerramentas de arquivosCalculadoras financeirasTodas as ferramentas
InícioFerramentas para desenvolvedoresConversor de JSON para data classes Kotlin
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский

Conversor de JSON para data classes Kotlin

desenvolvimento

Transforme uma amostra de JSON em data classes Kotlin para kotlinx.serialization, Gson ou Moshi

Funciona no seu navegador. Nada do que você digita é enviado a lugar nenhum. Verificado em 16 de outubro de 2026.

Cole uma amostra de JSON e receba data classes Kotlin para kotlinx.serialization, Gson ou Moshi. Números inteiros viram Int, Long acima de 2.147.483.647, qualquer decimal deixa a propriedade como Double, um valor null a torna anulável, e uma chave ausente em alguns objetos vira T? = null para que as 3 bibliotecas a decodifiquem.

Esta página foi traduzida automaticamente do original em inglês. Nenhuma pessoa revisou ainda a tradução; a versão em inglês é a que deve ser considerada. Ler o original em inglês

Em seguida:
  • Conversor de JSON para classes Java Transforme uma amostra de JSON em POJOs, records ou classes Lombok do Java anotados para Jackson
  • Formatador e validador de JSON Formate, valide, minifique e ordene JSON com a posição exata de cada erro

Como converter JSON em uma data class Kotlin

1

Cole uma amostra de JSON, como a resposta de uma API, na caixa da esquerda.

2

As data classes Kotlin aparecem enquanto você digita, uma por objeto, com propriedades em camelCase e uma anotação onde a chave for diferente.

3

Escolha kotlinx.serialization, Gson ou Moshi, var em vez de val se precisar, e o nome da classe raiz.

4

Clique em Copiar, ou em Baixar para salvar Models.kt.

Sobre o Conversor de JSON para data classes Kotlin

O Kotlin lê JSON em data classes, e cada objeto precisa de uma classe cujas propriedades tenham os tipos certos, a anulabilidade certa e um caminho de volta às suas chaves. Este conversor escreve essas classes a partir de uma amostra, então uma resposta longa de API vira Kotlin com uma só colagem.

Como os tipos são escolhidos.

Valor JSON Tipo Kotlin
"text" String
true / false Boolean
42 (só números inteiros) Int, ou Long além de 32 bits
4.5 (algum decimal visto) Double
null, e também um tipo String?, Int?
só null, ou tipos misturados JsonElement? ou Any?
[ ... ] List<...>
{ } vazio JsonObject ou Map<String, Any?>
{ ... } uma data class própria

Chaves ausentes. Todos os objetos de um array são unidos em uma classe. Uma chave que alguns deixam de fora vira anulável com null como padrão, porque o kotlinx.serialization e o Moshi tratam como erro uma chave ausente sem padrão. O kotlinx.serialization também rejeita chaves para as quais não tem propriedade, então cada chave da amostra ganha uma.

Nomes. As propriedades ficam em lowerCamelCase. Quando isso muda a chave, como user_name para userName, a propriedade recebe @SerialName, @SerializedName ou @Json(name = ...), conforme a biblioteca. Palavras reservadas como class são escritas entre crases. As strings das anotações escapam o cifrão, já que o Kotlin o leria como template.

Opções. var em vez de val gera propriedades mutáveis. Um objeto vazio vira uma classe comum, porque uma data class precisa de pelo menos uma propriedade. A classe raiz se chama Root, a menos que você dê outro nome.

Cada resultado foi verificado lendo o Kotlin de volta e decodificando 9 amostras com as regras padrão do kotlinx.serialization. Nada do que você cola sai do navegador.

Perguntas frequentes

Como converto JSON em uma data class Kotlin?

Cole uma amostra de JSON no conversor e as data classes aparecem ao lado, uma por objeto. Com kotlinx.serialization, adicione o plugin e decodifique com Json.decodeFromString<Root>(text); com Gson use Gson().fromJson(text, Root::class.java); com Moshi crie um adaptador para Root.

Por que algumas propriedades terminam com = null?

Uma chave que alguns objetos de um array deixam de fora recebe um tipo anulável e null como padrão. O kotlinx.serialization e o Moshi recusam uma chave ausente a menos que a propriedade tenha um padrão, então é o padrão que permite decodificar cada objeto da amostra.

Qual biblioteca devo escolher?

O kotlinx.serialization é a do próprio Kotlin, funciona em todas as plataformas Kotlin e confere os tipos na compilação. O Moshi com codegen combina com projetos Android que já usam Retrofit e Okio. O Gson é o mais antigo e não exige configuração, mas ignora a segurança contra null do Kotlin e os valores padrão ao criar objetos.

Como são tratadas chaves como user_name ou class?

As propriedades ficam em lowerCamelCase, então user_name vira userName, com @SerialName, @SerializedName ou @Json(name = ...) mantendo a chave original. Uma chave que é palavra reservada do Kotlin, como class ou object, é escrita entre crases, o que mantém a chave como nome real da propriedade.

Como os números são tipados em Kotlin?

Números inteiros viram Int, ou Long quando um valor passa de 2.147.483.647, e um campo vira Double assim que algum valor da amostra tem parte decimal. Valores de tipos diferentes viram JsonElement? com kotlinx.serialization, ou Any? com Gson e Moshi.

Meu JSON é enviado?

Não. A conversão roda no seu navegador sem nenhuma requisição a um servidor, e o JSON não é guardado, então respostas de API com tokens ou dados pessoais ficam no seu dispositivo. Feche a aba e nada fica para trás.

Fontes

  • Kotlin documentation, keywords and operatorsHard keywords that need backticks as names
  • Kotlin documentation, coding conventions: naming rulesUpperCamelCase classes, lowerCamelCase properties
  • kotlinx.serialization guide, basic serialization@SerialName, optional properties need defaults, unknown keys are errors
  • Moshi README, Kotlin codegen@JsonClass(generateAdapter = true) and @Json(name = ...)

Última verificação: 16 de outubro de 2026.

Taxas e regras mudam; confira a fonte antes de confiar em um valor.

Ainda com dúvidas? Pergunte sobre Conversor de JSON para data classes Kotlin e qualquer pessoa que saiba pode responder. Não é preciso ter conta.

Ferramentas relacionadas

Todas as ferramentas para desenvolvedores
Codificar e decodificar Base64Texto e arquivos para Base64 e de volta, com modo seguro para URL e prévia de imagensConversor de timestamp UnixTimestamps Unix em datas e datas em timestamps, em qualquer fuso horárioJSON para TypeScriptGere interfaces ou tipos TypeScript a partir de uma amostra JSONConverter CSV para JSONConverta CSV para JSON e JSON para CSV, com prévia em tabelaConverter YAML para JSONConverta YAML para JSON e JSON para YAML, com as âncoras resolvidasCodificador e decodificador de URLCodifique ou decodifique texto e URLs com codificação percentual e veja cada parte de um linkConversor de bases numéricasBinário, octal, decimal, hexadecimal e qualquer base até 36, exato em qualquer tamanho, com complemento de doisColor ConverterHEX, RGB, HSL, HWB, OKLCH and CMYK in both directions, with a contrast check
Esta ferramenta foi útil?
Omnikit

Pequenas tarefas, feitas no seu navegador. Grátis, rápido e privado. Os arquivos nunca são enviados.

Arquivos

  • Compress Image
  • Image to PDF
  • Merge PDF
  • Compress PDF
  • PDF to Word
  • Word to PDF

Desenvolvimento

  • JSON Formatter & Validator
  • Base64 Encode & Decode
  • JWT Decoder, Verifier & Encoder
  • Password Generator
  • UUID Generator
  • Unix Timestamp Converter

Finanças

  • SIP Calculator
  • EMI Calculator
  • GST Calculator
  • FD Calculator
  • PPF Calculator
  • Lumpsum Calculator
EnglishالعربيةবাংলাDeutschEspañolFrançaisPolskiPortuguêsРусский
GuiasPerguntasSobreComo verificamosBiblioteca de leis (beta)PrivacidadeTermosDivulgaçãoContatoMore: Exam practice (UGC NET Paper 1)Funciona no seu navegador. Nada é enviado. © 2026 Omnikit (theomnikit.com)