JSON a TypeScript

Genera interfaces de TypeScript o esquemas Zod a partir de una muestra de JSON
  • Los archivos no salen de tu dispositivo
  • Se ejecuta en el navegador
  • Gratis, sin registro ni marca de agua

Objects in the same array are merged: keys missing from some items become optional, and differing value types become unions. Identical shapes share one type.

Cómo usar JSON a TypeScript

Pega una muestra de JSON y obtén interfaces de TypeScript, un esquema Zod o un JSON Schema. Los objetos de los arreglos se fusionan, así que las claves que faltan en algunos elementos se vuelven opcionales y los tipos mixtos se vuelven uniones. Todo se ejecuta en local en tu navegador.

  1. 1

    Pega una muestra de JSON en el cuadro JSON, suelta un archivo o haz clic en Ejemplo.

  2. 2

    Elige una Salida: TypeScript, Zod o JSON Schema, y define el Nombre raíz.

  3. 3

    Elige cómo se tipan los Valores null y, para TypeScript, si Declarar como interface o type.

  4. 4

    Activa Detectar cadenas de fecha, Propiedades de solo lectura o No permitir propiedades extra según haga falta, y luego copia o descarga el resultado.

Preguntas frecuentes

¿El JSON se envía a algún sitio?

No. La generación de tipos se ejecuta en tu navegador, así que las respuestas de API con datos reales se quedan en tu dispositivo.

¿Cómo se manejan los arreglos de objetos con claves distintas?

Se fusionan en un solo tipo. Las claves que faltan en algunos elementos se vuelven opcionales, y las claves con tipos de valor distintos se vuelven uniones. Las formas idénticas comparten un tipo.

¿Cuál es la diferencia entre T | null y Opcional + null?

T | null mantiene la clave como obligatoria, pero permite null. Opcional + null también permite omitir la clave, lo que conviene a las API que descartan los campos null.

¿Detecta fechas?

Con Detectar cadenas de fecha activado, las cadenas ISO 8601 reciben un comentario en TypeScript, un validador datetime en Zod y un formato en JSON Schema.

¿Puedo pegar JSON con comentarios o comas finales?

Sí. La entrada se analiza de forma permisiva, así que se aceptan comentarios, comas finales y sintaxis JSON5, y una nota te avisa cuando eso ocurre.