JSON → Interface TypeScript
Desarrollo
Pega una muestra JSON (respuesta de API, config, fixture) y obtén una interface TypeScript lista para pegar. Los objetos anidados generan su propia interface con el nombre de la clave padre (en PascalCase), los arrays infieren su tipo de elemento, los primitivos quedan como primitivos. El modo merge recorre cada elemento de un array para producir uniones; el modo solo-primero infiere desde el índice cero (más rápido para arrays enormes).
export interface Post {
id: number;
title: string;
tags: string[];
}
export interface Address {
city: string;
zip: string;
}
export interface Root {
id: number;
name: string;
active: boolean;
joinedAt: string;
roles: string[];
address: Address;
posts: Post[];
}Cómo usar
- Pega una muestra JSON.
- Indica el nombre del tipo raíz y elige interface o type-alias.
- Elige el manejo de arrays — merge (más seguro) o primero (más rápido).
- Copia el TypeScript generado.
Preguntas frecuentes
- ¿Por qué mi array de users produce una interface User?
- Las claves en plural (users, posts, tags) se singularizan para el nombre del tipo anidado. 'posts': [...] genera una interface Post, usada como Post[].
- ¿Qué hace merge vs primero?
- Merge recorre todos los elementos del array y une los tipos de campo, así que campos 'opcionales' que faltan en algunos elementos se vuelven 'field?'. Primero solo mira el elemento cero — rápido pero se pierde uniones y opcionalidad.
- ¿Las fechas se infieren como Date?
- No — TypeScript no puede distinguir un string de fecha de otro string en tiempo de compilación. La herramienta los mantiene como 'string' para que la salida sea correcta en strict.
- ¿Y null?
- null se vuelve su propio tipo. Si un campo a veces es null en modo merge, obtienes 'field: string | null' en lugar de 'field: string'.
Herramientas relacionadas
Decodificador JWT
Decodifica un JSON Web Token para ver su cabecera, claims y expiración.
Generador de UUID
Genera UUID v4 aleatorios en lote, con copia.
Generador de Hash (SHA)
Genera hashes SHA-1, SHA-256, SHA-384 y SHA-512 a partir de texto.
Codificador / Decodificador de URL
Codifica texto para URLs en porcentaje, o decodifica URLs a texto.
Codificador / Decodificador Base64
Codifica texto a Base64 o decodifica Base64 a texto al instante.
Formateador y Validador de JSON
Formatea, embellece, minifica y valida JSON en tu navegador.