Conversor de JSON a TypeScript y Zod

JSON a TypeScript y Zod

Conversor de JSON a interfaces TypeScript + esquema Zod | We.Inc

Pega JSON y obtén interfaces de TypeScript y un esquema Zod a la vez. Los arrays se combinan para que los campos que faltan pasen a ser opcionales. Nada sale de tu navegador.

Pega cualquier muestra JSON y este conversor escribe interfaces de TypeScript para las comprobaciones en tiempo de compilación y un esquema Zod para validar los datos en tiempo de ejecución. Los objetos anidados reciben sus propios tipos con nombre, los arrays de objetos se combinan para que los campos ausentes en algunos elementos pasen a ser opcionales, y la conversión se hace en local, así que los datos privados se quedan en tu equipo.

Cómo se corresponden los valores JSON con los tipos

Los tipos solo son tan buenos como la muestra, así que pega una respuesta que incluya todos los campos que esperas, idealmente con varios elementos en cada array. Cambia el nombre del tipo raíz, alterna entre interface y type alias y copia cualquiera de las dos salidas.

¿Tipos o un esquema? Qué necesitas

Cómo leer lo que dedujo el conversor

Preguntas frecuentes

¿Debo usar una interface o un type alias?

Aquí ambos describen igual de bien la forma de los objetos. Las interfaces con el mismo nombre se fusionan, lo que ayuda al extender tipos de librerías; los type alias no se fusionan pero pueden nombrar uniones. Elige un estilo para el código base y mantenlo.

¿Cómo obtengo el tipo de TypeScript a partir de un esquema Zod?

Usa type User = z.infer<typeof UserSchema>. La salida Zod generada ya incluye esta línea bajo cada esquema, así que no necesitas mantener interfaces aparte.

¿Por qué un campo tiene el tipo null?

Tu muestra tenía null ahí, así que no había nada más que deducir. Sustitúyelo por el tipo real unido a null, por ejemplo string | null, o z.string().nullable() en el esquema.

¿Se envía mi JSON a un servidor?

No. El análisis y la generación se ejecutan en JavaScript en esta página. Puedes cargar la página, desconectarte y sigue funcionando.

Cómo usar la salida

Validar una respuesta con el esquema generado

safeParse devuelve éxito o una lista de problemas en lugar de lanzar un error, algo ideal para código de fetch que debe mostrar un estado de error.

La misma forma como interfaces simples

Útil para tipar props o argumentos de funciones cuando los datos ya son de confianza.

Pega JSON, obtén tipos

Pega una respuesta de ejemplo. El conversor escribe interfaces de TypeScript y un esquema Zod equivalente uno al lado del otro, combinando todos los elementos de cada array para que los campos ausentes en algunos salgan como opcionales.

Nombre del tipo raíz

Estilo de declaración

propiedades readonly

Hacer opcionales los campos null

Cargar muestra

Eso no es JSON válido: {msg}

Esquema Zod

Copiar

Empieza gratis · Sin tarjeta de crédito

Relacionado: Herramientas Gratuitas

Producto

Para quién es

Funciones

Recursos

Empresa

Mapa del sitio