# JSON para Kotlin Data Class

Converte dados JSON em data classes Kotlin com anotações @SerializedName, tratamento de nulos e inferência de tipos aninhados

> Página canônica: https://elysiatools.com/pt/tools/json-to-kotlin

- **Categoria:** Development

- **Palavras-chave:** json, kotlin, data class, converter, SerializedName

## Visão geral

O conversor de JSON para Kotlin Data Class permite gerar rapidamente classes de dados Kotlin a partir de estruturas JSON. Ele infere automaticamente tipos de dados, trata objetos aninhados e adiciona anotações @SerializedName para facilitar a serialização e desserialização em projetos Android e Kotlin.

## Entradas

- **Entrada JSON** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Nome do tipo raiz** (text): Root
- **Propriedades anuláveis** (checkbox)

## Quando usar

- Ao integrar APIs REST que retornam respostas JSON em aplicativos Android ou backend escritos em Kotlin.
- Quando você precisa criar modelos de dados tipados rapidamente sem escrever manualmente dezenas de classes e propriedades.
- Ao configurar a desserialização de JSON com bibliotecas como Gson ou Moshi que exigem mapeamento de chaves.

## Como funciona

- Insira ou cole o código JSON que você deseja converter no campo de entrada principal.
- Defina o nome da classe raiz e escolha se deseja que as propriedades sejam geradas como anuláveis (nullable).
- O conversor analisa a estrutura do JSON, infere os tipos de dados e gera as classes de dados Kotlin correspondentes com as anotações @SerializedName.

## Casos de uso

- Criação rápida de modelos de dados para consumo de APIs REST no Android Studio.
- Mapeamento de payloads de webhooks complexos para processamento em microsserviços Kotlin.
- Geração de classes de configuração a partir de arquivos JSON locais para inicialização de sistemas.

## Perguntas frequentes

### Como o conversor lida com objetos JSON aninhados?

Ele cria automaticamente classes de dados Kotlin separadas para cada objeto aninhado encontrado na estrutura do JSON.

### O que faz a opção de propriedades anuláveis?

Quando ativada, ela define os tipos das propriedades como opcionais (ex: String?), permitindo que o Kotlin trate valores nulos com segurança.

### Posso alterar o nome da classe principal gerada?

Sim, basta preencher o campo 'Nome do tipo raiz' com o nome desejado antes de realizar a conversão.

### O conversor adiciona anotações para serialização?

Sim, ele inclui a anotação @SerializedName para garantir que o mapeamento das chaves do JSON funcione mesmo após a ofuscação do código.

### Quais tipos de dados são inferidos pelo conversor?

Ele infere tipos básicos como String, Int, Double, Boolean, além de listas (List) e objetos personalizados.

## Ferramentas relacionadas

- [Gerador de Data URI](https://elysiatools.com/pt/tools/data-uri-generator): Converte arquivos em Data URIs (Base64 ou porcentagem-codificada) para incorporar imagens, fontes e recursos diretamente em HTML, CSS ou Markdown
- [Conversor de JSON Schema para Zod](https://elysiatools.com/pt/tools/json-schema-to-zod-schema-converter): Converte definicoes JSON/YAML de JSON Schema em codigo Zod pronto para uso em projetos TypeScript, com objetos aninhados, arrays, enums e regras comuns de validacao
- [JSON para C# Class](https://elysiatools.com/pt/tools/json-to-csharp): Converte dados JSON em classes C# com propriedades PascalCase, atributos JsonPropertyName e inferência de tipos aninhados
- [JSON para Go Struct](https://elysiatools.com/pt/tools/json-to-go): Converte dados JSON em definições de struct Go com tags json, campos PascalCase exportados e inferência de tipos aninhados
- [JSON para Java Class](https://elysiatools.com/pt/tools/json-to-java): Converte dados JSON em classes Java com anotações @JsonProperty do Jackson, campos privados, getters e setters
- [JSON para Rust Struct](https://elysiatools.com/pt/tools/json-to-rust): Converte dados JSON em structs Rust com derives serde Serialize/Deserialize, campos snake_case e atributos serde rename
- [JSON para TypeScript](https://elysiatools.com/pt/tools/json-to-typescript): Converte dados JSON em interfaces TypeScript ou aliases de tipo, com tipos união, campos opcionais e inferência de objetos aninhados
- [Conversor de logs para diagramas de sequencia](https://elysiatools.com/pt/tools/log-sequence-diagram-converter): Converte logs estruturados de servicos em diagramas Mermaid ou PlantUML com anotacoes de latencia e erro

## Exemplos

- [Exemplos de Serialização Android Kotlin](https://elysiatools.com/pt/samples/android-serialization-kotlin): Exemplos de serialização Android Kotlin incluindo serialização JSON, desserialização e análise XML
- [Amostras JSON de Terraform Plan](https://elysiatools.com/pt/samples/terraform-plan-json-samples): Arquivos Terraform plan JSON para visualizacao de dependencias e revisao de mudancas, no estilo terraform show -json
- [Exemplos JSON de Chat](https://elysiatools.com/pt/samples/chat-transcript-json): Exemplos JSON para transcricoes de chat multirrole
- [Exemplos de JSON](https://elysiatools.com/pt/samples/json): Exemplos de formato JSON (JavaScript Object Notation) de estruturas simples a complexas

## Conteúdo relacionado

- [Geradores de código tipado a partir de JSON (TypeScript, Go, Rust, Kotlin, Java, C#)](https://elysiatools.com/pt/hubs/json-to-typed-code-generators): Cole JSON e obtenha tipos prontos para uso: interfaces TypeScript, structs Go, structs Rust com serde, data classes Kotlin, classes Java, classes C#, esquemas Zod e JSON Schema inferido.
- [Ferramentas de intercambio JSON e traducao de formatos](https://elysiatools.com/pt/hubs/json-convert): Compare ferramentas de conversao JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN e outros formatos estruturados em um unico hub.
- [Ferramentas de inspecao, diff e transformacao JSON](https://elysiatools.com/pt/hubs/json-utility): Reune em um so hub ferramentas para formatar JSON, comparar mudancas, inspecionar caminhos, validar schema, mesclar arquivos e transformar dados para fluxos de API e dados.
- [Geradores de schema JSON, dados mock e fixtures de API](https://elysiatools.com/pt/hubs/json-generate): Ferramentas reunidas para geracao de schema JSON, construcao de payloads mock e preparacao de fixtures de API em um unico hub.
