DocumentosImágenesMediaHerramientas PDF

Convertir JSON a Kotlin Data Class

Genera data classes de Kotlin desde JSON, gratis, en tu navegador.

Procesado en tu navegador

De JSON a Kotlin Data Class en segundos

Listo para Android y Kotlin

Genera código compatible con Retrofit, kotlinx.serialization y Room. Pega directamente en tu proyecto.

100% privado

Tu JSON de API nunca sale de tu navegador. Sin registro, sin telemetría.

Tipos correctos

Infiere String, Int, Long, Double, Boolean, List y tipos nullables con ?. Anidación completa soportada.

Instantáneo

Generación en tiempo real mientras escribes. Sin botones, sin esperas.

Tres pasos, sin complicaciones

1

Pega tu JSON

Pega el JSON de tu API o archivo de configuración. Puede ser un objeto anidado o un array.

2

Generación instantánea

La herramienta genera data classes de Kotlin automáticamente, con tipos inferidos y anotaciones de serialización.

3

Copia el código

Copia las data classes generadas y úsalas directamente en tu proyecto Android o Kotlin.

¿Tienes dudas?

Las data classes son una característica especial de Kotlin que genera automáticamente los métodos equals(), hashCode(), toString() y copy() basándose en las propiedades declaradas en el constructor primario. Son ideales para representar modelos de datos, especialmente respuestas de APIs REST, porque eliminan el boilerplate que en Java requeriría escribir manualmente o usar Lombok.

Por defecto se generan propiedades val (inmutables), que es la práctica recomendada en Kotlin para modelos de datos. val significa que el valor no puede reasignarse después de la inicialización, lo que hace los objetos más predecibles y seguros en entornos multihilo. Usa var solo si necesitas mutar el objeto después de crearlo.

Sí. Se añade la anotación @Serializable de kotlinx.serialization, la biblioteca oficial de Kotlin para serialización JSON. También se añade @SerialName cuando el nombre del campo JSON difiere de la convención camelCase de Kotlin, por ejemplo cuando el JSON usa snake_case.

Cuando un valor en el JSON es null o cuando el campo no está presente en todos los objetos de un array, la propiedad se genera como tipo nullable usando el operador ?. Por ejemplo, String? en lugar de String. En Kotlin, la distinción entre tipos nullables y no nullables es parte del sistema de tipos y el compilador la verifica en tiempo de compilación.

En desarrollo Android, las data classes de Kotlin se usan principalmente para modelar respuestas de APIs REST con Retrofit, almacenar datos en bases de datos locales con Room, serializar objetos para pasar entre Activities/Fragments como Parcelable, y como modelos en arquitecturas MVVM o MVI. Desde que Google adoptó Kotlin como lenguaje oficial para Android en 2019, las data classes son el estándar de facto.

Kotlin en Android, kotlinx.serialization y Retrofit para APIs type-safe

En mayo de 2019, Google anunció que Kotlin se convertía en el lenguaje preferido (preferred language) para el desarrollo de Android, desplazando a Java como primera opción. Desde entonces, la adopción de Kotlin en Android ha crecido hasta que hoy más del 95% de las apps del top 1000 de Google Play usan Kotlin. Las data classes son una de las características más valoradas por los desarrolladores Android precisamente porque eliminan el boilerplate de los POJOs de Java.

kotlinx.serialization es la biblioteca oficial de serialización de JetBrains para Kotlin. A diferencia de Gson o Moshi, es completamente nativa en Kotlin, funciona con compilación multiplatforma (Kotlin Multiplatform Mobile), soporta corrutinas de forma nativa, y genera código en tiempo de compilación en lugar de usar reflexión en tiempo de ejecución. La anotación @Serializable en una data class es suficiente para serializar y deserializar JSON.

Retrofit, desarrollado por Square, es la biblioteca más popular para consumir APIs REST en Android. Combinada con kotlinx.serialization o Gson como convertidor, permite definir interfaces de API con anotaciones (@GET, @POST, @Body) y Retrofit genera automáticamente la implementación. Las data classes generadas por esta herramienta son directamente compatibles con Retrofit como tipos de retorno o parámetros de request body.