Conversor de JSON a interfaces de TypeScript

Pegue una muestra JSON de una respuesta de API o de un archivo de ajustes. La herramienta escribe las interfaces de TypeScript que la describen, con un nombre para cada objeto anidado. Nada de lo que pega sale de su navegador.

Gratuita Funciona en su navegador Revisada: martes, 10 de noviembre de 2026

Un objeto o un array JSON típico. Varios elementos de un array se combinan en una sola interfaz.

Un nombre sencillo, como Root, Product o ApiResponse.

Márquelo cuando los tipos se importen desde otro archivo.

Resultado

Interfaces de TypeScript — Copie el código, o descárguelo como types.ts.
Declaraciones — Las interfaces y los alias de tipo del código.
Interfaces de TypeScript

Esta herramienta funciona en su navegador. Lo que escribe no se envía a nosotros.

Cómo se usa

  1. Pegue un valor JSON típico en Muestra JSON. Los tipos aparecen mientras escribe.
  2. Escriba un nombre en Nombre de la interfaz raíz para el objeto más externo, como Product.
  3. Desmarque Escribir export antes de cada declaración si los tipos se quedan en el mismo archivo.
  4. Copie las Interfaces de TypeScript, o descárguelas como types.ts.

Cómo se obtienen los tipos

Cada objeto JSON se convierte en una interfaz. Su nombre sale de la clave que lo contiene, en PascalCase: la clave first-name da FirstName. Los elementos de un array toman el singular de la clave del array, así que items da Item. Cuando un nombre ya está usado, se pone delante el nombre del padre.

Las cadenas, los números y los booleanos pasan a string, number y boolean. null se escribe como null dentro de una unión, como number | null. Un array de valores pasa a un tipo seguido de []; un array vacío pasa a unknown[], porque la muestra no dice qué contiene.

clave "first-name" -> propiedad "first-name": string;   items -> Item[]

Varias muestras en un array

Una lista de objetos se lee como una sola forma. Una clave que aparece en todos los elementos es obligatoria; una clave que falta en algunos elementos se escribe con un signo de interrogación, como opcional. Una clave que tiene tipos distintos en distintos elementos pasa a ser una unión, con string primero, después number, boolean, la interfaz, el array y null.

Una muestra muestra solo los valores que contiene. Una clave que una API real a veces omite puede faltar en un solo ejemplo, así que añada un segundo elemento con ella si necesita que el tipo la muestre como opcional.

Ejemplo resuelto: la muestra por defecto

La muestra por defecto es un objeto con cinco claves. Su clave owner contiene un objeto, así que el código tiene una interfaz Owner. Su clave items es un array de dos objetos, así que el código tiene una interfaz Item. Las claves sku y price están en los dos elementos y son obligatorias; la clave discount es null en un elemento y un número en el otro, así que es number | null; la clave note aparece solo en un elemento y es opcional.

El resultado tiene tres declaraciones: Root, Owner e Item, y el recuento muestra 3.

Preguntas frecuentes

¿Por qué un campo lleva un signo de interrogación?

El campo falta en al menos un objeto de la muestra. Ese campo puede faltar en los datos reales, así que TypeScript lo trata como opcional, y el código que lo lee debe comprobarlo antes.

¿Por qué mi campo muestra una unión como string | number?

Elementos distintos tienen tipos distintos para esa clave. El tipo enumera todos los tipos vistos en la muestra, así que el código debe comprobar cuál tiene antes de usar el valor.

¿La herramienta comprueba mis datos reales de la API?

No. Escribe los tipos de la muestra que pega. Una muestra con un solo elemento no puede mostrar un campo que aparece solo más tarde, así que use una respuesta típica con varios elementos cuando pueda.

¿Por qué algunos nombres de propiedad van entre comillas?

Un nombre que no es un identificador sencillo, como first-name o 2fa, debe ir entre comillas en TypeScript. Los nombres que son identificadores válidos se escriben sin comillas.

¿Puedo usar el resultado con JavaScript?

Las interfaces son solo de TypeScript. Se eliminan al compilar el código, así que un proyecto de JavaScript necesita comprobar el JSON de otra forma, o un paso de compilación de TypeScript.

Fuentes

Cifras y texto revisados por última vez el martes, 10 de noviembre de 2026.

Usamos cookies necesarias para que el sitio funcione. Si usted lo acepta, Google también usa cookies publicitarias para mostrar anuncios personalizados. Si las rechaza, seguirá viendo anuncios, pero no estarán personalizados.