Saltar al contenido
Totalmente local

JSON a clase de datos Kotlin

Convierte una muestra JSON en una clase de datos Kotlin lista para usar.

Entrada
Salida

JSON a clase de datos Kotlin

Pega una respuesta JSON y esta herramienta la convierte en una clase de datos Kotlin lista para usar, inferiendo el tipo de cada campo directamente desde los valores que proporciones. Está diseñada para desarrolladores de Android y backend que necesitan un modelo rápido para una respuesta API, un archivo de configuración o una carga útil de muestra, sin escribir manualmente nombres de propiedades y tipos ni recurrir a un complemento del IDE.

Asigna un nombre a la clase raíz y elige cómo aparecen los objetos anidados: anidados dentro de la clase raíz o declarados como clases de nivel superior separadas. Cambia entre val para propiedades inmutables y var cuando el modelo necesita ser mutable, y activa los valores por defecto para dar a cada propiedad un valor predeterminado sensato (una cadena vacía, cero, emptyList()) para que las instancias se puedan crear con menos argumentos. Añade anotaciones @Serializable y @SerialName para kotlinx.serialization, o @SerializedName para Gson, y elige indentación de 2 espacios, 4 espacios o tabulación para que coincida con el estilo de tu proyecto.

Los valores faltantes o nulos se convierten automáticamente en tipos nullable, los arrays se convierten en List<T> con el tipo de elemento inferido desde cada elemento, y los objetos con la misma forma se colapsan en una clase reutilizada en lugar de ser duplicados. La opción "Fusionar campos entre elementos del array" controla si ese tipo de elemento se construye desde cada elemento en el array o solo desde el primero, lo que es útil para un array muy grande o de forma irregular. Cuando el JSON en el nivel superior es en sí mismo un array, la herramienta envuelve el tipo de elemento inferido en un List para ti.

Todo se ejecuta localmente en tu navegador — tu JSON nunca se carga ni se envía a un servidor, por lo que es seguro pegar respuestas API reales y cargas útiles internas. Copia el Kotlin generado, descárgalo como archivo .txt, o envía el resultado de vuelta a la entrada para convertirlo nuevamente con opciones diferentes.

Preguntas frecuentes

¿Cómo decide la herramienta qué campos son nullable?
Un campo se vuelve nullable cuando falta en al menos un objeto de muestra, o cuando su único valor observado es null. Un campo presente con un valor no nulo en cada objeto permanece no nullable.
¿Puede generar las anotaciones kotlinx.serialization o Gson que necesito?
Sí. Elige kotlinx.serialization para añadir @Serializable y @SerialName, o Gson para añadir @SerializedName con la clave JSON original, para que la clase se deserialice correctamente incluso cuando el nombre de la propiedad difiera.
¿Qué sucede con un array JSON cuyos objetos tienen formas diferentes?
Sus campos se fusionan en una clase de datos, con cualquier campo faltante en algunos elementos marcado como nullable. Desactiva "Fusionar campos entre elementos del array" para inferir el tipo solo del primer elemento en su lugar.
¿Soporta objetos anidados?
Sí. Un objeto anidado se convierte en su propia clase de datos, ya sea declarada dentro de la clase raíz o como una clase de nivel superior separada, dependiendo de la opción de anidamiento.
¿Se carga mi JSON en algún lugar?
No. La conversión se ejecuta completamente en tu navegador — tu JSON nunca sale de tu dispositivo.