JSON a TypeScript
Pega una respuesta o fixture JSON y genera interfaces de TypeScript para objetos y arreglos anidados como un punto de partida práctico.
Cómo funciona
Ingresa tus datos
Completa los valores, pega el texto o sube el archivo que necesita esta herramienta.
Obtén el resultado al instante
La mayoría de las herramientas se actualizan mientras escribes; algunas usan un solo botón. De cualquier forma, el resultado aparece aquí mismo.
Usa tu resultado
Copia, descarga o comparte lo que genere la herramienta — el control siempre es tuyo.
¿Qué es JSON a TypeScript?
Infiere interfaces o alias de tipo de TypeScript a partir de un ejemplo JSON para que las respuestas de API y los fixtures sean más fáciles de tipar.
Cómo generar TypeScript a partir de JSON
Cómo funciona la inferencia
Los objetos se convierten en interfaces, los arreglos se convierten en arreglos de tipos de elemento inferidos, las raíces primitivas se convierten en alias de tipo, y los nombres de objetos anidados se construyen a partir del nombre raíz más la ruta de la propiedad.
Arreglos y valores mixtos
Cuando los elementos de un arreglo tienen formas o tipos primitivos diferentes, la salida usa una unión de los tipos de elemento inferidos. Los arreglos vacíos se convierten en unknown[] porque no hay un elemento de ejemplo para inspeccionar.
Revisar antes de usar
- Renombra las interfaces si los nombres generados son demasiado literales.
- Marca los campos como opcionales manualmente cuando un ejemplo omite algunos casos.
- Reemplaza los campos solo-null con una unión más rica si los datos reales pueden contener otros valores.
Notas sobre el tipado
Los tipos generados describen el ejemplo que pegaste. Agrega campos opcionales, uniones más estrictas o interfaces compartidas cuando tu contrato de API real sea más amplio que el ejemplo.
Preguntas frecuentes
¿Sabe qué campos son opcionales?
No. Solo ve el ejemplo proporcionado, así que cada propiedad de objeto en ese ejemplo se genera como obligatoria.
¿Qué pasa con los nombres de propiedad inválidos?
Las propiedades que no son identificadores válidos de TypeScript se ponen entre comillas, así que claves como user-name siguen siendo utilizables.
¿Por qué obtuve un alias de tipo en lugar de una interfaz?
Las raíces JSON primitivas, como una cadena, número, booleano, null o arreglo, pueden representarse directamente como un alias de tipo.
¿Puede combinar varios ejemplos de respuesta?
No. Pega un ejemplo combinado representativo o ajusta los tipos generados manualmente después de comparar los ejemplos.
Herramientas relacionadas
- PopularDisponibleLocal
Generador de UUID
Genera identificadores UUID v4 y GUID individuales o por lotes en el navegador.
- PopularDisponibleLocal
Formateador de JSON, YAML y XML
Formatea, minifica y valida JSON y XML, y convierte entre JSON y YAML en el navegador.
- PopularDisponibleLocal
Generador y Lector de Códigos QR
Crea códigos QR y lee imágenes QR de forma local.
- PopularDisponibleLocal
Codificador/Decodificador Base64
Codifica y decodifica texto en Base64 de forma local.
- PopularDisponibleLocal
Codificador/Decodificador de URL
Codifica y decodifica URLs en pestañas separadas, con opciones por lotes y recursivas.
- PopularDisponibleLocal
Conversor de Timestamp Unix
Convierte timestamp Unix (segundos y milisegundos) a fecha/hora y viceversa.
- DisponibleLocal
Codificador/Decodificador de Entidades HTML
Codifica y decodifica entidades HTML de forma segura.
- DisponibleLocal
Probador de Expresiones Regulares
Prueba expresiones regulares y previsualiza reemplazos.
- DisponibleLocal
Decodificador de JWT
Decodifica el encabezado y el payload de un JWT localmente.
- DisponibleLocal
Generador y Validador de Expresiones Cron
Crea, valida y decodifica expresiones cron de 5 campos con próximas ejecuciones.