Convertir JSON a Kotlin — Generador de data classes
Convierte JSON a data classes de Kotlin en línea para kotlinx.serialization, Jackson o Klaxon, con tipos nulables y clases anidadas. Gratis, rápido y privado.
🔒 Se ejecuta completamente en tu navegador — nada se subeData classes de Kotlin a partir de un ejemplo JSON
Las data classes de Kotlin encajan de forma natural con los payloads JSON, pero escribirlas a mano para una respuesta grande, sobre todo en Android, donde cada pantalla parece llamar a otro endpoint, resulta tedioso. Este conversor de JSON a Kotlin las genera a partir de un ejemplo. Cada objeto se convierte en una data class con propiedades val, las claves se pasan a camelCase con anotaciones que conservan los nombres JSON originales, los objetos anidados pasan a ser clases propias y los arrays se convierten en List<T>. Los campos ausentes o null en algunos ejemplos pasan a ser tipos nulables, de modo que obtienes la null-safety de Kotlin justo en las propiedades que la necesitan.
La inferencia de tipos corre a cargo de quicktype, que combina cada elemento de cada array. Los campos opcionales que aparecen solo en unos pocos elementos se capturan igualmente, lo que evita fallos en tiempo de ejecución cuando el deserializador se encuentra una clave que el modelo no conoce.
kotlinx.serialization, Jackson o Klaxon
La salida por defecto está pensada para kotlinx.serialization, la biblioteca multiplataforma de JetBrains: las clases se anotan con @Serializable y las claves con @SerialName. Los proyectos de servidor basados en Spring suelen preferir Jackson, que genera anotaciones @JsonProperty y un helper ObjectMapper. Klaxon es una alternativa ligera que algunos proyectos Android siguen usando. Si piensas gestionar tú mismo la serialización, marca Data classes only. Define el nombre del package para que el archivo compile en su sitio.
Consejos para modelos Kotlin limpios
Dale al conversor un ejemplo completo — varios elementos por array, campos opcionales rellenos, objetos anidados no vacíos — para que la nulabilidad y los tipos se infieran correctamente. Cambia el nombre de la clase raíz por el de tu dominio antes de descargar. Después, considera sustituir las cadenas con valores conocidos por tipos enum class, usar Instant o LocalDate donde tu serializador los admita y añadir valores por defecto para los campos que tu API omite. La generación se ejecuta por completo en tu navegador, así que puedes pegar sin problema respuestas reales capturadas durante la depuración.
Cómo usar
- Pega el JSONPega un objeto o array JSON, o carga el ejemplo.
- Elige un serializadorSelecciona kotlinx.serialization, Jackson o Klaxon y define el package.
- Copia las data classesCopia el código Kotlin o descárgalo como archivo .kt.
Preguntas frecuentes
¿Qué bibliotecas de serialización se admiten?
¿Cómo se tipan los campos nulables?
String? y con valor por defecto null.