JSON a TypeScript
Pegue un ejemplo de JSON y obtenga declaraciones TypeScript listas para usar que describen su forma.
Procesado localmente en tu navegador/ Tus datos se quedan en tu navegador.
¿Qué es JSON a TypeScript?
Al consumir una API JSON en TypeScript necesita tipos para las respuestas. Escribirlos a mano para cargas grandes es lento y propenso a errores, así que un generador que los infiere de un ejemplo real ahorra tiempo.
Esta herramienta recorre su JSON, crea una interfaz con nombre (o un alias de tipo) para cada objeto anidado, fusiona los objetos de un arreglo para que las claves ausentes en algunos elementos pasen a ser opcionales (?) y construye uniones cuando un campo contiene tipos distintos. Puede elegir el nombre raíz, el estilo interface o type, la palabra clave export y las propiedades de solo lectura.
¿Cómo funciona?
- Pegue un ejemplo JSON representativo, idealmente con varios elementos de arreglo para detectar campos opcionales.
- Defina el nombre del tipo raíz y elija interface o type, export y solo lectura.
- Revise las declaraciones generadas en la salida.
- Cópielas en su proyecto o descargue types.ts.
Casos de uso habituales
- Tipar la respuesta de un endpoint REST antes de escribir el código cliente.
- Modelar un archivo de configuración o una carga de webhook.
- Obtener un primer borrador de tipos para una API heredada sin documentación.
- Comprobar qué campos de una respuesta faltan o son null a veces.
Ejemplos
Prueba esta entrada en la herramienta de arriba:
{"id":1,"name":"Ada","email":null,"tags":["math","code"],"profile":{"age":36,"admin":false},"orders":[{"sku":"A1","qty":2,"note":"gift"},{"sku":"B2","qty":1}]}export interface Root {
id: number;
name: string;
email: null;
tags: string[];
profile: Profile;
orders: Order[];
}
export interface Profile {
age: number;
admin: boolean;
}
export interface Order {
sku: string;
qty: number;
note?: string;
}
Privacidad
JSON a TypeScript se ejecuta por completo en tu navegador. El texto o los archivos que proporcionas se procesan en tu dispositivo y no se suben, registran ni almacenan en nuestros servidores.
Limitaciones
Los tipos se infieren de un solo ejemplo: un campo siempre presente en su muestra puede ser opcional en la realidad, y las fechas llegan como string. Revise antes de confirmar.
Preguntas frecuentes
¿Cómo se detectan las propiedades opcionales?
Cuando se fusionan varios objetos (por ejemplo los elementos de un arreglo), una clave ausente en al menos uno se marca como opcional con un signo de interrogación. Una clave presente pero con valor null conserva una unión con null.
¿Cómo se nombran los objetos anidados?
Cada objeto anidado recibe una interfaz con el nombre de su clave en PascalCase (orders pasa a Order para los elementos del arreglo). Los objetos con estructura idéntica reutilizan la misma declaración y las colisiones de nombre reciben un sufijo numérico.
¿Se gestionan enteros grandes y fechas?
Todos los números JSON pasan a number y las fechas a string, porque JSON no tiene tipo fecha. Ajuste esos tipos a mano si su código los convierte en Date o bigint.
Herramientas relacionadas
Formateador JSON
Convierta un JSON minificado o desordenado en texto legible y bien sangrado, con un mensaje de error preciso si el JSON no es válido.
JSON y datos
Validador JSON
Compruebe si un texto es JSON válido y localice el carácter exacto donde falla.
JSON y datos
Visor JSON
Explore un documento JSON como un árbol desplegable en lugar de un muro de texto, con un resumen de su estructura.
JSON y datos
Buscador JSONPath
Escriba una expresión JSONPath y vea al instante los valores que selecciona en su JSON, junto con la ruta normalizada de cada coincidencia.
JSON y datos
Conversor de JSON a YAML
Convierta JSON en YAML legible de estilo bloque, con cadenas entre comillas solo cuando hace falta.
JSON y datos
Conversor de JSON a XML
Convierta un documento JSON en XML bien formado con control del elemento raíz, los atributos y el formato.
JSON y datos
Convertidor de JSON a CSV
Pegue una matriz JSON y obtenga un CSV listo para Excel o Google Sheets, con los datos anidados aplanados en columnas.
JSON y datos