Generador de esquema JSON a Zod / Yup
Convierte cualquier objeto JSON o array en un esquema de validación Zod o Yup instantáneamente. Maneja objetos anidados, arrays, valores nulos y tipos de unión — todo en tu navegador, sin necesidad de registro.
Generador de esquema JSON → Zod / Yup
¿Qué hace esta herramienta?
Esta herramienta lee un objeto JSON o array y genera un esquema de validación en tiempo de ejecución coincidente para Zod o Yup. Maneja todos los tipos primitivos (string, number, boolean, null), objetos anidados, arrays de cualquier tipo, y campos con unión nula — ahorrándote el tedioso trabajo de escribir esquemas manualmente para respuestas de API o cargas útiles de formularios.
Zod vs Yup
Zod es una biblioteca de esquemas centrada en TypeScript que infiere tipos estáticos desde tu esquema, lo que la hace ideal para proyectos TypeScript full-stack. Yup es la opción clásica para validación de formularios React (especialmente con Formik), ofreciendo una API fluida encadenable. Ambas producen lógica de validación en tiempo de ejecución equivalente — elige la que tu proyecto ya use.
Manejo de valores nulos
Cuando un campo JSON es null, la herramienta no puede determinar el tipo en tiempo de ejecución verdadero. En Zod, los campos nulos se generan como z.union([z.TYPENAME(), z.null()]) o z.null() cuando no hay otra pista de tipo disponible. En Yup, los campos nulos se convierten en yup.mixed().nullable(). Habilita 'Campos requeridos' para Yup para añadir .required() a cada campo.
Cómo usar
- Pega un objeto JSON o array en el área de entrada.
- Elige salida Zod o Yup usando el interruptor.
- Opcionalmente establece el nombre de variable y habilita modo estricto (Zod) o campos requeridos (Yup).
- Haz clic en Generar esquema para producir el código del esquema.
- Haz clic en Copiar para copiar el resultado al portapapeles.
Tu JSON se queda en tu navegador — no se envían datos a ningún servidor.
Preguntas Frecuentes
- ¿Maneja objetos anidados?
- Sí. Los objetos anidados se convierten a esquemas z.object({...}) o yup.object({...}) anidados en línea — no se necesitan declaraciones de tipo separadas.
- ¿Qué sucede con los valores nulos?
- Los valores nulos se representan como z.null() en Zod, o yup.mixed().nullable() en Yup, ya que el tipo subyacente verdadero no puede inferirse de la muestra JSON únicamente.
- ¿Qué es el modo estricto de Zod?
- Llamar a .strict() en un esquema de objeto Zod lo hace lanzar un error de validación si la entrada contiene claves no presentes en el esquema. Es útil para APIs donde los campos adicionales inesperados deben ser rechazados.
- ¿Soporta arrays de objetos?
- Sí. Los arrays de objetos generan z.array(z.object({...})) para Zod o yup.array().of(yup.object({...})) para Yup, con el esquema anidado inferido del primer elemento.
- ¿Es esta herramienta gratuita?
- Sí — completamente gratuita, sin necesidad de registro. Toda la generación de esquemas sucede localmente en tu navegador.