Generador cron de AWS
Generador cron
Contador de texto
JSON a CSV
CSV a JSON
Conversor de timestamp Unix
Generador de UUID v4 y v7
JSON a TypeScript
Markdown a PDF
Base64
Imágenes
JSON
Código QR
Contraseñas
Unidades
Hash
Colores
Herramientas PDF
Editor de PDF
Codificador de URL
Conversor de Formato
Lorem Ipsum
Probador de expresiones regulares
Decodificador JWT
Diferencia de texto
Optimizador SVG
Visor EXIF
Extractor de color
Generador de favicones
Convertidor universal
Conversor de Horas
Divisor de PDF
Imágenes a PDF
PDF a Imagen
Eliminar Fondo
Desarrollo

JSON a TypeScript

Obtén declaraciones TypeScript a partir de una muestra JSON, con uniones, propiedades opcionales y objetos anidados. Revisa el resultado antes de usarlo como contrato de una API.

En tu dispositivo

Los archivos y textos se procesan en tu navegador.

Privacidad
JSON → TypeScriptProcesamiento en este navegador. No se suben ni guardan datos.

Máximo 200 KiB UTF-8; profundidad máxima: 50 niveles.

.ts

Con una raíz array o primitiva, el modo interface emite un alias de tipo raíz.

Los tipos solo describen la muestra. Las propiedades ausentes son opcionales; null es explícito; los arrays vacíos usan unknown[]. No valida datos en ejecución.

Cómo usar esta herramienta

  1. Entrada

    Pega JSON válido o carga el ejemplo con registros sintéticos. Incluye variantes reales de la estructura que quieres representar.

  2. Opciones

    Escribe un nombre raíz válido, como ApiResponse, y elige interface o type. Las raíces no objeto utilizan un alias de tipo.

  3. Resultado

    Pulsa Convertir, revisa los opcionales y las uniones y copia o descarga el archivo .ts. Compruébalo con tu compilador.

Ejemplo resuelto

Ejemplo resuelto · JSON a TypeScript

El segundo registro contiene active y el primero no, por lo que active es opcional. Los dos tipos observados de tag aparecen en la unión.

Entrada

[{"id":1,"tag":"x"},{"id":2,"tag":null,"active":true}]

Resultado

export type ApiResponse = ({
  active?: boolean;
  id: number;
  tag: null | string;
})[];

Opciones: ApiResponse · type

Formatos y límites

Límites
Máximo 200 KiB UTF-8; profundidad máxima: 50 niveles.
Opciones
Ambos describen objetos. La opción type produce un alias; interface produce una interfaz para una raíz objeto. Una raíz array o primitiva necesita un alias incluso en modo interface.
Resultado
Se comparan todos los objetos de un mismo array. Si una propiedad falta en alguno, se marca con ?. Tener null no equivale a que falte la propiedad.

Problemas frecuentes

¿Qué ocurre con null y arrays vacíos?

Null se conserva como tipo explícito y puede formar una unión. Un array vacío se representa como unknown[] porque no hay elementos de los que inferir el tipo.

¿Se validan los datos en ejecución?

No. TypeScript comprueba tipos durante el desarrollo; estas declaraciones no inspeccionan futuras respuestas de una API. Añade un validador de ejecución si lo necesitas.

JSON a TypeScript

Obtén declaraciones TypeScript a partir de una muestra JSON, con uniones, propiedades opcionales y objetos anidados. Revisa el resultado antes de usarlo como contrato de una API.

Revisa el resultado antes de usarlo

El segundo registro contiene active y el primero no, por lo que active es opcional. Los dos tipos observados de tag aparecen en la unión.

Formatos y límites

Máximo 200 KiB UTF-8; profundidad máxima: 50 niveles. Procesamiento en este navegador. No se suben ni guardan datos.

Preguntas Frecuentes

¿Debo elegir interface o type?

Ambos describen objetos. La opción type produce un alias; interface produce una interfaz para una raíz objeto. Una raíz array o primitiva necesita un alias incluso en modo interface.

¿Cómo se detectan las propiedades opcionales?

Se comparan todos los objetos de un mismo array. Si una propiedad falta en alguno, se marca con ?. Tener null no equivale a que falte la propiedad.

¿Qué ocurre con null y arrays vacíos?

Null se conserva como tipo explícito y puede formar una unión. Un array vacío se representa como unknown[] porque no hay elementos de los que inferir el tipo.

¿Se validan los datos en ejecución?

No. TypeScript comprueba tipos durante el desarrollo; estas declaraciones no inspeccionan futuras respuestas de una API. Añade un validador de ejecución si lo necesitas.

¿Qué pasa si la muestra está incompleta?

El resultado solo conoce los valores presentes. No descubre campos futuros, reglas de negocio, fechas ni enumeraciones. Usa muestras variadas y revisa el contrato real.