DT Dev Tools

Convertir JSON a Zod — Generador de esquemas

Convierte JSON a esquemas Zod en línea con objetos anidados, arrays, campos opcionales y nulables y tipos TypeScript z.infer. Gratis, rápido y privado.

🔒 Se ejecuta completamente en tu navegador — nada se sube

Publicidad

Esquemas Zod generados a partir de JSON

Los tipos de TypeScript desaparecen en tiempo de ejecución, por lo que los datos de una API, un formulario o localStorage solo son tan seguros como el código que los comprueba. Zod cierra esa brecha validando los valores contra un esquema e infiriendo el tipo de TypeScript a partir de ese mismo esquema. Este conversor de JSON a Zod escribe el esquema por ti: pega un ejemplo JSON y cada objeto se convierte en un z.object, los primitivos se asignan a z.string(), z.number() y z.boolean(), los arrays pasan a ser z.array(...) y los objetos anidados obtienen esquemas con nombre propio que se reutilizan donde aparezcan.

La herramienta se basa en quicktype, que combina cada elemento de cada array antes de inferir los tipos. Los campos que aparecen solo en algunos elementos se marcan como opcionales y los valores que a veces son null como nulables, de modo que el esquema acepta los datos reales que has visto y no solo el primer elemento.

Esquemas y tipos inferidos a la vez

Por defecto, la salida también exporta un tipo TypeScript para cada esquema mediante z.infer, lo que te da una única fuente de verdad para la validación y el tipado estático. Importa el esquema raíz y llama a RootSchema.parse(data) para validar un valor no confiable y obtener un resultado tipado, o a safeParse cuando quieras gestionar los errores sin excepciones. Marca Schemas only si prefieres declarar los tipos en otro lugar. Es un complemento natural de la herramienta JSON a TypeScript cuando necesitas garantías en tiempo de ejecución, y no solo avisos en compilación.

Consejos para esquemas más estrictos

Genera a partir de un ejemplo representativo con varios elementos por array y campos opcionales rellenos. Después, afina lo que un ejemplo no puede mostrar: añade .email(), .url() o .uuid() a los campos de cadena, usa z.enum para los campos con un conjunto fijo de valores, restringe los números con .int() o .min() y decide si las claves desconocidas deben eliminarse o rechazarse con .strict(). Toda la generación ocurre en local, así que puedes pegar con seguridad payloads de producción.

Cómo usar

  1. Pega el JSONPega una respuesta de API o cualquier ejemplo JSON, o haz clic en Load sample.
  2. Nombra la raízDefine el nombre del esquema raíz y decide si incluir los tipos inferidos.
  3. Copia los esquemasCopia el código TypeScript o descarga un archivo .ts y valida con schema.parse().

Preguntas frecuentes

¿Qué contiene la salida?
Un esquema Zod para cada objeto de tu JSON más los tipos TypeScript inferidos con z.infer. Marca Schemas only para omitir los alias de tipo.
¿Cómo se tratan los campos opcionales y nulables?
Los campos que faltan o son null en algunos ejemplos reciben .optional() o .nullable(), de modo que la validación acepta las variaciones vistas en los datos reales.
¿Qué versión de Zod soporta?
Los esquemas usan las API básicas z.object, z.array, z.string y z.number, que funcionan tanto en Zod 3 como en Zod 4.
¿Se sube mi JSON?
No. Los esquemas se generan por completo en tu navegador.
Publicidad