Generador de código desde JSON

Pega un ejemplo de JSON y obtén tipos de modelo listos para usar en TypeScript, C#, Python, Go, Java o Kotlin. Los campos que faltan en algunos elementos pasan a ser opcionales, los valores null pasan a ser anulables y los objetos anidados reciben su propio tipo con nombre.

Gratis y privado. Todo funciona en tu navegador y no se sube nada.

Cómo funciona

  1. Pega un ejemplo de JSONPega una respuesta de API o abre un archivo .json. Cuantos más elementos tenga una lista, mejor será el resultado.
  2. Elige un lenguajeElige TypeScript, C#, Python, Go, Java o Kotlin y el estilo que usas, como record o dataclass.
  3. Copia el códigoRevisa los tipos generados y cópialos o descárgalos como archivo.

Tipos deducidos de datos reales

Escribir a mano las clases de modelo para una respuesta de API grande es lento y es fácil equivocarse. Esta herramienta lee tu ejemplo de JSON y deduce el tipo de cada campo. Cuando una lista contiene varios objetos, se comparan todos: un campo que algunos objetos no tienen pasa a ser opcional, y un campo que es null en algunos objetos pasa a ser anulable.

Los números se separan en enteros y decimales, y los enteros que superan el rango de 32 bits pasan a ser long o int64. Los textos con aspecto de fecha ISO, como 2026-10-27 o 2026-10-27T09:30:00Z, pueden convertirse en tipos de fecha en C#, Python, Go y Java. Los objetos anidados reciben su propio tipo con el nombre de su clave, y los objetos con la misma forma comparten un solo tipo.

Nombres que siguen cada lenguaje

Claves como user_name, First Name o createdAt se convierten al estilo de nombres del lenguaje: propiedades en PascalCase en C#, snake_case en Python, camelCase en Java y Kotlin, nombres exportados en Go. Cuando el nuevo nombre es distinto de la clave del JSON, la clave original se guarda en un atributo o una etiqueta, así la serialización sigue coincidiendo con los datos. Las palabras reservadas y las claves que empiezan por un dígito se renombran de forma segura.

El resultado es un punto de partida. Revisa los tipos de los campos que no se pudieron decidir con tu ejemplo, por ejemplo un campo que siempre es null o una lista que siempre está vacía.

Preguntas frecuentes

¿Se sube mi JSON a algún sitio?

No. Los tipos se generan en tu navegador. Las respuestas de API con datos de clientes o claves nunca salen de tu dispositivo.

¿Cómo se detectan los campos opcionales?

Si el JSON contiene una lista de objetos, se comparan todos. Un campo que falta en al menos un objeto se marca como opcional. Con un solo objeto, todos los campos se tratan como obligatorios.

¿Qué pasa con los campos que siempre son null?

Con el ejemplo no se puede saber su tipo, así que el campo recibe un tipo general como unknown, object, Any o JsonElement. Añade un ejemplo en el que el campo tenga un valor para obtener un tipo preciso.

¿Por qué mi 1.0 aparece como número decimal?

La herramienta mira cómo está escrito el número. 1.0 o 2.5 pasan a ser double o float, 1 pasa a ser un entero. Si un campo es entero en unos elementos y decimal en otros, se usa el tipo decimal.

¿Puedo usar el resultado en código de producción?

Sí, el código compila tal cual en las configuraciones habituales. Revisa nombres y tipos antes de hacer commit, porque un ejemplo nunca puede mostrar todos los valores posibles.

¿Funciona sin conexión?

Sí. Después de abrir la página una vez, sigue funcionando sin conexión a internet.