Cómo se usa
- Pega un ejemplo de JSON o haz clic en «Cargar ejemplo».
- Indica el nombre del tipo raíz.
- Elige interfaces o alias de tipo con «Usar type en lugar de interface».
- 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.