JSON para Kotlin Data Class Online
Gere data classes Kotlin a partir de JSON, grátis, no seu navegador.
Para que serve
De JSON para Kotlin Data Class em segundos
Pronto para Android e Kotlin
Gera código compatível com Retrofit, kotlinx.serialization e Room. Cole diretamente no seu projeto.
100% privado
Seu JSON de API nunca sai do seu navegador. Sem cadastro, sem telemetria.
Tipos corretos
Infere String, Int, Long, Double, Boolean, List e tipos nullable com ?. Aninhamento completo suportado.
Instantâneo
Geração em tempo real enquanto você digita. Sem botões, sem esperas.
Como funciona
Três passos, sem complicação
Cole seu JSON
Cole o JSON da sua API ou arquivo de configuração. Pode ser um objeto aninhado ou um array.
Geração instantânea
A ferramenta gera data classes Kotlin automaticamente, com tipos inferidos e anotações de serialização.
Copie o código
Copie as data classes geradas e use-as diretamente no seu projeto Android ou Kotlin.
Perguntas frequentes
Ficou com dúvidas?
Data classes são um recurso especial do Kotlin que gera automaticamente os métodos equals(), hashCode(), toString() e copy() a partir das propriedades declaradas no construtor primário. São ideais para representar modelos de dados, especialmente respostas de APIs REST, pois eliminam o boilerplate que o Java exigiria escrever manualmente ou usando Lombok.
Por padrão, propriedades val (imutáveis) são geradas, que é a prática recomendada em Kotlin para modelos de dados. val significa que o valor não pode ser reatribuído após a inicialização, tornando os objetos mais previsíveis e seguros em ambientes multithreaded. Use var apenas se precisar mutar o objeto após a criação.
Sim. A anotação @Serializable de kotlinx.serialization, a biblioteca oficial de serialização JSON do Kotlin, é adicionada. @SerialName também é adicionada quando o nome do campo JSON difere da convenção camelCase do Kotlin, por exemplo quando o JSON usa snake_case.
Quando um valor no JSON é null, ou quando um campo não está presente em todos os objetos de um array, a propriedade é gerada como tipo nullable usando o operador ?. Por exemplo, String? em vez de String. Em Kotlin, a distinção entre tipos nullable e não-nullable faz parte do sistema de tipos e o compilador a verifica em tempo de compilação.
No desenvolvimento Android, data classes Kotlin são usadas principalmente para modelar respostas de APIs REST com Retrofit, armazenar dados em bancos de dados locais com Room, serializar objetos para passar entre Activities/Fragments como Parcelable, e como modelos em arquiteturas MVVM ou MVI. Desde que o Google adotou Kotlin como linguagem oficial para Android em 2019, data classes são o padrão de fato.
Kotlin no Android, kotlinx.serialization e Retrofit para APIs type-safe
Em maio de 2019, o Google anunciou que Kotlin se tornava a linguagem preferida para o desenvolvimento Android, deslocando o Java como primeira opção. Desde então, a adoção do Kotlin no Android cresceu ao ponto de hoje mais de 95% dos apps do top 1000 do Google Play usarem Kotlin. As data classes são um dos recursos mais valorizados pelos desenvolvedores Android precisamente porque eliminam o boilerplate dos POJOs do Java.
kotlinx.serialization é a biblioteca oficial de serialização da JetBrains para Kotlin. Diferente do Gson ou Moshi, é totalmente nativa em Kotlin, funciona com compilação Kotlin Multiplatform Mobile, suporta coroutines nativamente e gera código em tempo de compilação em vez de usar reflexão em tempo de execução. A anotação @Serializable em uma data class é suficiente para serializar e desserializar JSON.
Retrofit, desenvolvido pela Square, é a biblioteca mais popular para consumir APIs REST no Android. Combinada com kotlinx.serialization ou Gson como conversor, permite definir interfaces de API com anotações (@GET, @POST, @Body) e o Retrofit gera automaticamente a implementação. As data classes geradas por esta ferramenta são diretamente compatíveis com Retrofit como tipos de retorno ou parâmetros de corpo de requisição.