JSON a TypeScript
Convierte un objeto JSON a interfaces TypeScript. Maneja objetos anidados, matrices, propiedades opcionales y tipos de unión.
Cómo usar JSON a TypeScript
- 1Pega tu objeto JSON o respuesta de API.
- 2Introduce un nombre para la interfaz raíz.
- 3Haz clic en Convert para generar interfaces TypeScript.
- 4Copia el código TypeScript generado.
ZenovayAnalytics
Analytics pensado para fundadores.
- Seguimiento de visitantes en tiempo real
- Privacidad primero, sin aviso de cookies
- Configurado en dos minutos
Herramientas relacionadas
Formateador y Validador JSON
Formatea, valida y embellece datos JSON con resaltado de sintaxis y detección de errores.Decodificador JWT
Decodifica e inspecciona tokens JWT. Consulta el encabezado, la carga útil y verifica firmas.Base64 Codificar/Decodificar
Codifica texto a Base64 o decodifica Base64 a texto. Soporta UTF-8 y datos binarios.Codificador/Decodificador de URL
Codifica o decodifica componentes de URL. Maneja caracteres especiales, cadenas de consulta y URLs completas.Preguntas frecuentes
¿Qué características de TypeScript genera esto?▾
El convertidor genera declaraciones de interface TypeScript para objetos, con tipos correctos para string, number, boolean, null, undefined y Date (cadenas de fecha ISO). Los objetos anidados producen interfaces separadas. Los arrays producen tipos T[]. Los arrays mixtos producen tipos de unión (string | number)[]. Las propiedades que son null en la muestra obtienen T | null. Las propiedades opcionales (?) no se infieren de una sola muestra — use múltiples muestras para una mejor inferencia.
¿Cómo se manejan los objetos anidados?▾
Cada objeto anidado obtiene su propia interface con nombre. Por ejemplo, {"user": {"name": "Alice"}} produce interface User { name: string; } e interface Root { user: User; }. Las interfaces se nombran convirtiendo la clave de la propiedad a PascalCase. Los objetos profundamente anidados producen una jerarquía completa de interfaces. Los arrays de objetos producen una interface para el tipo del elemento, referenciada como ItemType[].
¿Cuál es la diferencia entre interface y type en TypeScript?▾
interface y type son en gran medida intercambiables para formas de objetos. Las interfaces admiten la fusión de declaraciones (múltiples declaraciones con el mismo nombre se fusionan) y pueden extenderse con extends. Los alias type pueden expresar tipos de unión, tuplas y tipos mapeados que las interfaces no pueden. Para formas de respuestas de API, ambos funcionan. La convención es usar interface para formas de objetos (objetos que instanciará o extenderá) y type para alias, uniones y tipos calculados.
¿Cómo debo manejar respuestas de API que varían entre llamadas?▾
El convertidor infiere tipos de una muestra. Si un campo es a veces string y a veces number entre llamadas, debe añadir el tipo de unión manualmente: field: string | number. Para campos nulables, añada | null. Para campos faltantes/opcionales, añada el modificador ?: field?: string. Ejecute el convertidor en múltiples respuestas de API y fusione las interfaces manualmente para tipos de calidad de producción.
¿Cómo uso estas interfaces en mi proyecto TypeScript?▾
Copie las interfaces generadas en un archivo .ts o .d.ts (p. ej., api-types.ts). Impórtelas donde sea necesario: import type { Root } from "./api-types";. Tipifique su respuesta fetch: const data = await response.json() as Root; o con zod para validación en tiempo de ejecución: const schema = z.object({...}); const data = schema.parse(await response.json()). Para proyectos grandes, considere herramientas como quicktype u openapi-typescript para la generación automatizada de tipos desde esquemas.