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

  1. 1Pega tu objeto JSON o respuesta de API.
  2. 2Introduce un nombre para la interfaz raíz.
  3. 3Haz clic en Convert para generar interfaces TypeScript.
  4. 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
Descubre Zenovay

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.