DT Dev Tools

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 sube

Publicidad

Data 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

  1. Pega el JSONPega un objeto o array JSON, o carga el ejemplo.
  2. Elige un serializadorSelecciona kotlinx.serialization, Jackson o Klaxon y define el package.
  3. Copia las data classesCopia el código Kotlin o descárgalo como archivo .kt.

Preguntas frecuentes

¿Qué bibliotecas de serialización se admiten?
kotlinx.serialization (la predeterminada), Jackson y Klaxon. Cada una genera las anotaciones y el código auxiliar correctos para esa biblioteca.
¿Cómo se tipan los campos nulables?
Los campos null o ausentes en algunos ejemplos se declaran con un tipo nulable como String? y con valor por defecto null.
¿Puedo obtener data classes sin anotaciones?
Sí. Marca Data classes only para generar data classes de Kotlin simples, sin código específico del serializador.
¿Sale el JSON de mi navegador?
No. Todo el análisis y la generación se ejecutan en local en tu dispositivo.
Publicidad