Convertidor de JSON a TypeScript

Genera interfaces de TypeScript a partir de una muestra JSON directamente en tu navegador.

Esta herramienta se ejecuta completamente en tu navegador. Tus archivos nunca se suben a un servidor.

interface Root {
  name: string;
  age: number;
  active: boolean;
  tags: string[];
  address: Address;
}

interface Address {
  street: string;
  zip: string;
}

Qué hace este convertidor

Lee un valor JSON y genera interfaces de TypeScript equivalentes: una interface por cada forma de objeto encontrada en la muestra, con cada campo tipado según el valor que contiene.

Cómo usarlo

Pega un objeto, lista o valor primitivo JSON en el editor. Aparece de inmediato una interface `Root` (o un alias de tipo, si la raíz no es un objeto), además de una interface adicional por cada forma de objeto anidada.

Ejemplo

Un objeto con una cadena `name` y un objeto anidado `address` produce `interface Root { name: string; address: Address; }` junto con una interface `Address` separada, nombrada según la clave de la que proviene.

Correspondencia de tipos

Las cadenas se convierten en `string`, los números en `number`, los booleanos en `boolean` y las listas en `ElementType[]`. Una propiedad cuyo valor de muestra es `null` se tipa como `null` — amplíala manualmente a `T | null` cuando conozcas el tipo real del campo.

Objetos anidados y listas

Cada objeto anidado obtiene su propia interface con nombre, generada a partir de su clave (por ejemplo, `addresses` produce una interface `Address` para los elementos de la lista). Si dos claves distintas producen objetos estructuralmente idénticos, cada una obtiene igualmente su propia interface en lugar de fusionarse.

Limitaciones

Los tipos generados describen solo la muestra JSON proporcionada — un campo que es una cadena en tu muestra pero un número en otra parte de tus datos reales no se detectará. Las listas de objetos se tipan solo a partir de su primer elemento, y los nombres de interface generados pueden coincidir en casos poco comunes con palabras reservadas de TypeScript.

Privacidad

El análisis y la generación de código se ejecutan localmente en tu navegador. El JSON que pegas y el TypeScript generado nunca se suben.

Preguntas Frecuentes

¿Esto valida mi JSON contra un esquema?
No — infiere tipos a partir de un único valor de muestra; es un punto de partida para interfaces, no un JSON Schema ni un validador en tiempo de ejecución.
¿Qué ocurre con las listas de objetos?
El convertidor observa el primer elemento de la lista para generar la interface de ese objeto; si los elementos posteriores tienen campos distintos, añádelos manualmente a la interface generada.
¿Se envía mi JSON a un servidor?
No — el análisis y la generación de TypeScript se realizan completamente en tu navegador.