JSON a interfaces TypeScript
Pega un JSON y genera automáticamente interfaces TypeScript, con objetos y arrays anidados
Instrucciones
Instrucciones de uso de JSON a interfaces TypeScript\n\n## Descripción\nCuando recibes el JSON que devuelve una API, escribir los tipos de TypeScript a mano lleva mucho tiempo. Esta herramienta lee la estructura del JSON e infiere recursivamente las interfaces anidadas.\n\n## Cómo usarla\n1. Pega el JSON en el cuadro de entrada; pulsa «Rellenar ejemplo» para ver antes un caso complejo\n2. Escribe el nombre de la interfaz raíz (por defecto Root) y elige `interface` o alias `type`\n3. Si algún campo puede faltar, marca «Campos opcionales» para añadir `?` a cada campo\n4. Pulsa «Generar TypeScript»; el resultado se muestra en orden de referencia, con los subtipos primero y el tipo raíz al final\n5. Pulsa «Copiar resultado» para copiarlo\n\n## A tener en cuenta\n- Los tipos se infieren de este JSON: si un campo es `null` solo obtendrás `null`, y los campos ausentes no se detectan. Para mayor precisión, usa varias muestras o completa los tipos a mano\n- Si los elementos de un array tienen estructuras distintas, se genera una unión, por ejemplo `(A | B)[]`\n- De un array vacío solo se puede inferir `unknown[]`; tendrás que añadir el tipo tú mismo\n- Si un nombre de campo no es un identificador válido, se entrecomilla para cumplir la sintaxis de TypeScript
Preguntas frecuentes
¿Qué pasa si los objetos del array tienen tipos distintos?
La herramienta genera una interfaz para cada estructura diferente y escribe el tipo de los elementos del array como una unión, por ejemplo `(User | Admin)[]`; después puedes acotarla según tu lógica de negocio.
¿Por qué un campo null se convierte en tipo null?
Porque con estos únicos datos no se puede saber si en el futuro será una cadena o un número. Se recomienda añadir todos los tipos que aparezcan en datos reales, o cambiarlo manualmente a `string | null`.
¿Se pueden generar tipos para Go o Java?
Por ahora solo se genera TypeScript. Si quieres ver antes la estructura, con los nombres de interfaces anidadas que infiere esta herramienta no es difícil reescribirlos como structs de otros lenguajes.
Herramientas relacionadas
Artículos relacionados
Cómo usar la herramienta en línea de formateo y compresión de JS: pasos de procesamiento local en el navegador
Pega el código JavaScript y podrás formatearlo o comprimirlo localmente en el navegador, sin subirlo a ningún servidor; este artículo ofrece los pasos completos de operación, soluciones para bloqueos con archivos grandes y manejo en móviles, así como la forma concreta de restaurar código comprimido al depurar interfaces, para ayudarte a entender y organizar el código rápidamente.
tool-tutorials¿Qué hacer si la indentación del código HTML queda desordenada después de formatearlo?
Este artículo explica con claridad las causas y los pasos de reparación de la indentación desalineada después de formatear HTML, abarcando la unificación del carácter de indentación, la configuración del ancho de indentación, el manejo de la lentitud con archivos grandes, la operación en el móvil y las dudas frecuentes, para ayudarte a restaurar rápidamente el código desordenado a una disposición clara y legible.
tool-tutorialsCómo usar la herramienta en línea de formateo y compresión de JS: pasos para principiantes
Solo tienes que pegar el código en la herramienta en línea de formateo y compresión de JS del navegador, elegir formatear o comprimir y obtener al instante un resultado bien formateado o de menor tamaño; además, resuelve de paso problemas comunes como errores, bloqueos, operación en el móvil y visualización de datos de interfaces.
tool-tutorialsCómo usar un asistente de escritura con IA: pasos completos para principiantes desde la entrada hasta el borrador final
Con un flujo de cuatro pasos y una tabla de solución de problemas frecuentes, ayuda a los principiantes a recorrer todo el proceso del asistente de escritura con IA desde la indicación de entrada hasta el borrador final, y explica qué hacer cuando el resultado no es correcto o la herramienta no abre.