Saltar al contenido
ToolMug

Convertir JSON a TypeScript

Convierte un ejemplo de JSON — una respuesta de API, un archivo de configuración, un fixture — en interfaces de TypeScript que puedes pegar en tu código. Los objetos anidados tienen sus propios tipos con nombre, y las diferencias entre los elementos de un array se convierten en tipos opcionales o de unión.

Funciona en tu navegador: nada de lo que introduces se sube

Cómo se usa

  1. Pega un ejemplo de JSON o haz clic en «Cargar ejemplo».
  2. Indica el nombre del tipo raíz.
  3. Elige interfaces o alias de tipo con «Usar type en lugar de interface».
  4. Copia o descarga los tipos generados.

Opciones explicadas

Nombre del tipo raíz
Nombre del tipo de nivel superior, por ejemplo User o ApiResponse. Los tipos anidados reciben el nombre de sus claves — address pasa a Address, y los elementos de posts pasan a Post.
Usar type en lugar de interface
Genera alias de tipo (type User = { … }) en lugar de interfaces. Ambos funcionan igual para datos simples.

Ejemplos

{"id": 1, "tags": ["a"], "owner": {"name": "Ada"}} se convierte en:

export interface Owner {
  name: string;
}

export interface Root {
  id: number;
  tags: string[];
  owner: Owner;
}

Preguntas frecuentes

¿Cómo se tratan los arrays de objetos?

Todos los elementos se fusionan en un solo tipo. Una clave que solo aparece en algunos elementos pasa a ser opcional (key?), y un valor que a veces es null se convierte en una unión como string | null.

¿Por qué un campo tiene el tipo unknown?

En el ejemplo ese campo solo contenía null, así que no se puede deducir su tipo real. Sustituye unknown por el tipo correcto o pega un ejemplo en el que el campo tenga un valor.

¿Los enteros y los decimales son tipos distintos?

No en TypeScript — ambos pasan a number. Las salidas de Go, Rust y Python sí los distinguen.

¿Se sube mi JSON?

No. Los tipos se generan en tu navegador, así que las respuestas de API con datos reales no salen de tu dispositivo.

Privacidad

Esta herramienta funciona por completo en tu navegador. Tus archivos y textos se procesan en tu dispositivo y nunca se suben a nuestros servidores.

Herramientas relacionadas