Qué hace
La herramienta JSON → TypeScript lee cualquier JSON válido e infiere interfaces TypeScript limpias y tipadas — no vuelva a escribir tipos a mano. Maneja objetos anidados (cada uno recibe una sub-interfaz con nombre), arrays (T[]), arrays heterogéneos (fusionados en uniones o una unión real, usted elige), valores primitivos y null. Las formas anidadas idénticas se deduplican en una interfaz compartida, y las claves que colisionan con palabras reservadas de TypeScript se entrecomillan automáticamente. Todo corre 100 % en su navegador, así que es seguro pegar payloads reales y sensibles.
Cómo usarlo
- Pegue su JSON en la caja de entrada JSON (o pulse Ejemplo para una demo).
- Opcionalmente fije un nombre raíz (por defecto
Root, saneado a un identificador válido). - Elija Elementos de array como unión: Fusionar (por defecto — los objetos fusionan claves, los primitivos distintos se unen) o Unión (emitir una unión real de los tipos de elementos distintos).
- Active Nullable → opcional para marcar como opcionales las propiedades cuyo tipo incluye
null. - Las interfaces se renderizan en vivo a la derecha, fijas mientras se desplaza por la entrada.
- Copie el TypeScript, descárguelo como
types.ts, o copie el enlace para compartir para reproducir la vista exacta.
Ejemplos
Inferir una interfaz desde un objeto anidado
Entrada:
{ "id": 7, "name": "CosmoDev", "tags": ["json", "ts"], "meta": { "version": 2 } }
Salida:
interface Root {
id: number;
name: string;
tags: string[];
meta: RootMeta;
}
interface RootMeta {
version: number;
}
Los arrays heterogéneos se fusionan en un elemento unión
Entrada: { "xs": [1, "a"] } → propiedad xs: (number | string)[].
Las claves con palabras reservadas se entrecomillan
Entrada: { "class": "x", "default": 1 } → "class": string; "default": number;.
Conviene saber
- Compartible: su entrada y opciones van codificadas en la URL, así que un enlace reproduce la salida exacta.
- Privado: toda la inferencia ocurre localmente — seguro para secretos y credenciales.
- Herramientas relacionadas: JSON Formatter, JSON Validator,
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
.