# JSON a Kotlin Data Class

Convierte datos JSON en data classes de Kotlin con anotaciones @SerializedName, manejo de nulos e inferencia de tipos anidados

> Página canónica: https://elysiatools.com/es/tools/json-to-kotlin

- **Categoría:** Development

- **Palabras clave:** json, kotlin, data class, convertir, SerializedName

## Descripción general

Esta herramienta te permite convertir de forma instantánea cualquier estructura de datos JSON en data classes de Kotlin limpias y fuertemente tipadas. Facilita la integración de APIs en tus proyectos de Kotlin o Android al generar automáticamente las clases necesarias con soporte para anotaciones de serialización, inferencia de tipos anidados y control de nulabilidad.

## Entradas

- **Entrada JSON** (textarea): { "name": "Alice", "age": 30, "roles": \["admin", "user"\], "address": { "city": "Shanghai", "zip": "200000" } }
- **Nombre del tipo raíz** (text): Root
- **Propiedades anulables** (checkbox)

## Cuándo usarlo

- Al integrar APIs REST en aplicaciones Android o backend escritas en Kotlin.
- Cuando necesitas generar modelos de datos estructurados a partir de respuestas JSON complejas de forma rápida.
- Al configurar serializadores como Gson que requieren mapeo de nombres con anotaciones @SerializedName.

## Cómo funciona

- Pega el código JSON en el campo de entrada de texto.
- Define el nombre de la clase raíz y selecciona si deseas que las propiedades sean anulables (nullable).
- El convertidor analiza la estructura del JSON, infiere los tipos de datos y genera el código de las data classes de Kotlin correspondientes.

## Casos de uso

- Desarrollo de aplicaciones Android que consumen servicios web y requieren modelos de datos rápidos.
- Migración de código heredado o respuestas de APIs a proyectos basados en Kotlin.
- Creación de esquemas de datos tipados para pruebas unitarias a partir de payloads JSON reales.

## Preguntas frecuentes

### ¿Cómo maneja el convertidor los objetos anidados en el JSON?

Crea automáticamente clases de datos secundarias para cada objeto anidado detectado en la estructura jerárquica del JSON.

### ¿Qué hace la opción de propiedades anulables?

Define todas las variables generadas como tipos opcionales en Kotlin (añadiendo el signo '?'), permitiendo que contengan valores nulos.

### ¿Se incluyen anotaciones de serialización?

Sí, el generador incluye anotaciones @SerializedName para asegurar la compatibilidad con librerías de parseo como Gson.

### ¿Puedo cambiar el nombre de la clase principal?

Sí, puedes especificar el nombre de la clase raíz en el campo de configuración antes de realizar la conversión.

### ¿Soporta arreglos y listas de datos?

Sí, detecta arreglos en el JSON y los mapea a colecciones de tipo List en Kotlin con su respectivo tipo de dato inferido.

## Herramientas relacionadas

- [Generador de Data URI](https://elysiatools.com/es/tools/data-uri-generator): Convierte archivos en Data URIs (Base64 o porcentaje-codificado) para incrustar imágenes, fuentes y recursos directamente en HTML, CSS o Markdown
- [Convertidor de JSON Schema a Zod](https://elysiatools.com/es/tools/json-schema-to-zod-schema-converter): Convierte definiciones JSON/YAML de JSON Schema en codigo Zod listo para usar en proyectos TypeScript, con objetos anidados, arreglos, enums y reglas comunes de validacion
- [JSON a C# Class](https://elysiatools.com/es/tools/json-to-csharp): Convierte datos JSON en clases de C# con propiedades PascalCase, atributos JsonPropertyName e inferencia de tipos anidados
- [JSON a Go Struct](https://elysiatools.com/es/tools/json-to-go): Convierte datos JSON en definiciones de struct de Go con etiquetas json, campos PascalCase exportados e inferencia de tipos anidados
- [JSON a Java Class](https://elysiatools.com/es/tools/json-to-java): Convierte datos JSON en clases de Java con anotaciones @JsonProperty de Jackson, campos privados, getters y setters
- [JSON a Rust Struct](https://elysiatools.com/es/tools/json-to-rust): Convierte datos JSON en structs de Rust con derives serde Serialize/Deserialize, campos snake_case y atributos serde rename
- [JSON a TypeScript](https://elysiatools.com/es/tools/json-to-typescript): Convierte datos JSON en interfaces de TypeScript o alias de tipo, con tipos unión, campos opcionales e inferencia de objetos anidados
- [Convertidor de logs a diagramas de secuencia](https://elysiatools.com/es/tools/log-sequence-diagram-converter): Convierte logs estructurados de servicios en diagramas Mermaid o PlantUML con latencia y errores

## Ejemplos

- [Ejemplos de Serialización Android Kotlin](https://elysiatools.com/es/samples/android-serialization-kotlin): Ejemplos de serialización Android Kotlin incluyendo serialización JSON, deserialización y análisis XML
- [Muestras JSON de Terraform Plan](https://elysiatools.com/es/samples/terraform-plan-json-samples): Archivos Terraform plan JSON para visualizacion de dependencias y revision de cambios, similares a terraform show -json
- [Ejemplos JSON de Chat](https://elysiatools.com/es/samples/chat-transcript-json): Ejemplos JSON para transcripciones de chat multirrol
- [Ejemplos de JSON](https://elysiatools.com/es/samples/json): Ejemplos de formato JSON (JavaScript Object Notation) desde estructuras simples hasta complejas

## Contenido relacionado

- [Generadores de código tipado a partir de JSON (TypeScript, Go, Rust, Kotlin, Java, C#)](https://elysiatools.com/es/hubs/json-to-typed-code-generators): Pega JSON y obtén tipos listos para usar: interfaces TypeScript, structs Go, structs Rust con serde, data classes Kotlin, clases Java, clases C#, esquemas Zod y JSON Schema inferido.
- [Herramientas de intercambio JSON y traduccion de formatos](https://elysiatools.com/es/hubs/json-convert): Compara herramientas de conversion JSON para CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN y otros formatos estructurados en un solo hub.
- [Herramientas de inspeccion, diff y transformacion JSON](https://elysiatools.com/es/hubs/json-utility): Reune en un solo hub herramientas para formatear JSON, comparar cambios, inspeccionar rutas, validar esquemas, combinar archivos y transformar datos para flujos de API y datos.
- [Generadores de esquemas JSON, datos mock y fixtures de API](https://elysiatools.com/es/hubs/json-generate): Herramientas reunidas para generacion de esquemas JSON, construccion de payloads mock y preparacion de fixtures de API en un solo hub.
