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.
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.
Máximo 200 KiB UTF-8; profundidad máxima: 50 niveles.
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.
Pega JSON válido o carga el ejemplo con registros sintéticos. Incluye variantes reales de la estructura que quieres representar.
Escribe un nombre raíz válido, como ApiResponse, y elige interface o type. Las raíces no objeto utilizan un alias de tipo.
Pulsa Convertir, revisa los opcionales y las uniones y copia o descarga el archivo .ts. Compruébalo con tu compilador.
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.
[{"id":1,"tag":"x"},{"id":2,"tag":null,"active":true}]export type ApiResponse = ({
active?: boolean;
id: number;
tag: null | string;
})[];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.
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.
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.
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.
Máximo 200 KiB UTF-8; profundidad máxima: 50 niveles. Procesamiento en este navegador. No se suben ni guardan datos.
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.
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.
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.
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.
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.