JSON → Interface TypeScript
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
Generador de JSON Schema
Pega cualquier JSON y obtén un JSON Schema draft-07 que coincide con su forma — tipos inferidos, formatos detectados, campos required.
Generador de esquemas Zod desde JSON
Convierte un objeto JSON en un esquema de validación Zod con tipos inferidos, en tu navegador.
Conversor de JSON a esquema GraphQL (SDL)
Convierte un objeto JSON en definiciones de tipo GraphQL (SDL) con mapeo de escalares, en tu navegador.
Generador de Datos Mock
Genera registros falsos realistas para pruebas — nombres, emails, fechas, IDs, lorem — exporta como JSON, CSV o SQL INSERT.
Generador de JSON a @typedef de JSDoc
Convierte un objeto JSON en bloques @typedef de JSDoc con etiquetas @property, en tu navegador.
Conversor de JSON a dataclass de Python
Convierte un objeto JSON en definiciones @dataclass de Python con anotaciones de tipo, en tu navegador.