Generador de Esquemas Zod desde JSON Online
Genera un esquema de Zod a partir de una muestra JSON al instante en tu navegador. Tu JSON se queda en tu dispositivo.
Tu JSON se analiza y se convierte en un esquema de Zod por completo en tu navegador, así que se queda en tu dispositivo y nada se sube a un servidor.
¿Necesitas interfaces de TypeScript simples? Prueba JSON a TypeScript.
Acerca de JSON a Zod
Este conversor de json a zod convierte un objeto o arreglo JSON de muestra en un esquema de Zod listo para usar en segundos. Pega una respuesta de API real e infiere cada valor: las cadenas se vuelven z.string(), los números enteros z.number().int(), los decimales z.number(), los booleanos z.boolean() y null z.null(). Los arreglos se vuelven z.array() con sus formas de elemento unificadas, y los objetos anidados se convierten en llamadas anidadas z.object({...}) para que el esquema refleje tus datos exactamente. Está hecho para personas desarrolladoras de TypeScript que quieren un generador de esquemas zod rápido en lugar de escribir validadores a mano, ya sea que estés conectando la validación de formularios, tipando un endpoint o generando zod desde json mientras exploras un payload desconocido. Nombra el esquema raíz y, opcionalmente, exporta un tipo inferido. Todo se ejecuta localmente en tu navegador, así que el JSON que pegas se procesa en tu dispositivo y nada se sube a un servidor.
Características
- Genera un esquema de Zod nombrado desde cualquier objeto o arreglo JSON
- Infiere z.string(), z.number(), z.boolean() y z.null() a partir de tu muestra
- Detecta los números enteros y emite z.number().int() para ellos
- Convierte los objetos anidados en llamadas anidadas z.object({...})
- Envuelve los arreglos en z.array() y unifica los elementos mixtos en un z.union()
- Opcionalmente exporta un tipo inferido con z.infer<typeof Schema>
- Te permite renombrar el esquema raíz y muestra los errores de análisis de JSON en línea
- Copia el esquema o descárgalo como un archivo .ts
Cómo usar JSON a Zod
- Pega tu objeto o arreglo JSON en el cuadro de entrada.
- Establece el nombre del esquema, o déjalo como Schema.
- Activa o desactiva la exportación del tipo inferido según lo que necesites.
- Revisa el esquema de Zod generado, luego cópialo o descárgalo como un archivo .ts.
Ejemplo
Entrada
{ "id": 1, "name": "Ada", "tags": ["a", "b"] }
Salida
export const Schema = z.object({
id: z.number().int(),
name: z.string(),
tags: z.array(z.string()),
});
Un objeto JSON plano se convierte en un esquema z.object tipado.
Errores comunes y solución de problemas
- La salida muestra un aviso de JSON inválido con una línea y columna. — El JSON tiene un problema de sintaxis como una coma final, comillas simples o una clave sin comillas. Corrígelo en la línea y columna reportadas y el esquema se regenerará.
- Un campo salió como z.array(z.unknown()) en lugar de un tipo de elemento real. — Ese arreglo estaba vacío en tu muestra, así que no se pudo inferir un tipo de elemento. Incluye al menos un elemento y el esquema inferirá un z.array() de su forma.
- Un número entero se tipó como z.number().int() pero querías un z.number() simple. — Los enteros se detectan como z.number().int() a partir de la muestra. Edita la línea generada a z.number() si el campo también puede contener decimales.
- Una propiedad de objeto salió como z.null(). — Todos los valores de muestra de esa clave eran null. Proporciona una muestra con un valor real, o envuelve el campo en .nullable() tú mismo una vez que conozcas su tipo concreto.
Preguntas frecuentes
- ¿Qué hace el generador de JSON a Zod?
- Lee un objeto o arreglo JSON de muestra y produce un esquema de Zod que coincide en TypeScript, infiriendo un z.string(), z.number(), z.boolean(), z.null(), z.array() o z.object() para cada valor para que puedas pegarlo directamente en tu código.
- ¿Es compatible con Zod v4?
- Sí. El esquema usa los constructores principales z.string(), z.number(), z.boolean(), z.null(), z.array() y z.object(), que son idénticos en Zod v3 y v4, así que la salida funciona con cualquiera de las dos versiones una vez que importas z desde zod.
- ¿Cómo se manejan los campos opcionales o anulables?
- Los campos que son null en la muestra se vuelven z.null(). Como una sola muestra no puede saber qué claves son opcionales, nada se marca como .optional() automáticamente; añade .optional() o .nullable() tú mismo donde un campo pueda faltar o ser null.
- ¿Cómo distingue los enteros de los decimales?
- Los números enteros de tu muestra se vuelven z.number().int() y los números con parte decimal se vuelven z.number(). Si un campo puede contener ambos, cambia la línea generada a z.number() para que acepte cualquiera.
- ¿Cómo se convierten los objetos y arreglos anidados?
- Los objetos anidados se vuelven llamadas anidadas z.object({...}) para que el esquema refleje tu JSON, y los arreglos se vuelven z.array() con el esquema del elemento adentro. Un arreglo vacío se vuelve z.array(z.unknown()).
- ¿Se envía mi JSON a algún lugar cuando genero el esquema de Zod?
- No. La conversión de JSON a Zod se ejecuta por completo en tu navegador, así que los datos que pegas se procesan localmente y nunca salen de tu dispositivo.
Herramientas relacionadas
- JSON a TypeScript — Genera interfaces de TypeScript a partir de una muestra JSON.
- JSON a código — Genera tipos de Go, Rust, Python, Java, Kotlin, C# y TypeScript a partir de JSON.
- JSON Schema — Genera un JSON Schema desde una muestra o valida JSON con Ajv.
- Formateador de JSON — Embellece, minimiza y valida JSON con la ubicación de los errores.
- JSON a Pydantic — Genera clases de modelo Pydantic v2 a partir de una muestra JSON.
- Visor de JSON — Visor de texto y árbol plegable con expandir/contraer y rutas de nodos.
Todas las herramientas de ArrayKit