Qué hace
Pegue una muestra de JSON, como una respuesta de API de su backend ASP.NET Core o el contenido de un webhook, y obtenga declaraciones de TypeScript que puede añadir directamente a un proyecto frontend. La salida se actualiza mientras escribe, y una segunda pestaña muestra el mismo modelo como esquema Zod para la validación en tiempo de ejecución.
Cómo deduce los tipos
- Se examinan todos los elementos del array, no solo el primero. Una clave que falta en algunos elementos pasa a ser opcional (
name?: string). Una clave que a veces esnullpasa a serstring | null. - Los arrays mixtos se convierten en uniones, p. ej.
(string | number)[]. Un array vacío se convierte enunknown[]. - Las estructuras idénticas se declaran una sola vez.
shippingAddressybillingAddresscon las mismas propiedades comparten una única interfaceAddress. - Los objetos con ID como claves (
{"101": {...}, "102": {...}}) se convierten enRecord<string, T>. - Salida siempre válida: los nombres de propiedad que no son identificadores (
"first-name","2fa") se ponen entre comillas. Los nombres de tipo van en PascalCase y en singular para los elementos de arrays. Los nombres que ocultarían tipos integrados comoDateoErrorreciben un sufijo. - Las cadenas de fecha ISO se mantienen como
stringde forma predeterminada, con un comentario que indica si son una fecha o una fecha y hora. También puede tiparlas comoDatesi las convierte después de analizarlas. El esquema Zod las comprueba con.datetime()o.date()(Zod 3.23 o posterior).
Opciones
Elija interface o type, active o desactive export y readonly, elija T[] o Array<T> y defina el nombre del tipo raíz. Un array en la raíz genera un tipo de elemento y un alias ...List.
Cómo usarlo
Pegue JSON o suelte un archivo .json y, a continuación, copie o descargue la salida TypeScript o Zod.
Privacidad
La conversión se ejecuta por completo en su navegador. Su JSON nunca se sube; la última entrada se guarda en el almacenamiento local.