¿Qué es JSON Schema?
JSON Schema es un estándar para describir la estructura esperada de un documento JSON. Piensa en él como un sistema de tipos para tus datos: define qué campos deben existir, qué tipo debe tener cada campo y cuáles son obligatorios. Cuando los datos llegan a tu API, los comparas con el esquema y rechazas todo lo que no coincida antes de que alcance la lógica de tu aplicación.
{"type":"object","properties":{"id":{"type":"integer"},"name":{"type":"string"}},"required":["id","name"]}
¿Por qué usar JSON Schema?
Sin validación de esquema, un campo obligatorio ausente causa un error en lo profundo de la lógica de tu aplicación, a veces horas después de que llegaron los datos erróneos. Con validación de esquema, el problema se detecta de inmediato en el límite donde los datos entran a tu sistema, con un mensaje de error claro que señala el campo exacto que está mal.
Genera un esquema automáticamente a partir de una muestra
No tienes que escribir esquemas a mano. Pega una respuesta JSON real o una muestra de datos en nuestro generador de JSON Schema y produce un esquema draft-07 con tipos correctos y campos obligatorios en segundos.
Valida datos contra un esquema
Una vez que tienes un esquema, usa nuestro validador de JSON Schema para comprobar cualquier documento JSON contra él. Cada violación se informa con su ruta exacta en el documento, para que sepas precisamente qué hay que corregir.
Del esquema a TypeScript
Si trabajas con TypeScript, nuestra herramienta JSON a TypeScript genera interfaces correspondientes a partir de la misma muestra JSON, dándote seguridad de tipos en tiempo de compilación para complementar la validación de esquema en tiempo de ejecución.
Preguntas frecuentes
- ¿Qué versión de JSON Schema debería usar?
- Draft-07 es la versión con más soporte y cubre todos los casos de uso comunes. Nuestras herramientas generan esquemas draft-07. Draft 2019-09 y 2020-12 añaden funciones relevantes principalmente para escenarios de validación avanzados.
- ¿JSON Schema puede validar objetos anidados?
- Sí: JSON Schema admite por completo la validación anidada. Puedes definir esquemas para objetos anidados usando
properties, crear definiciones reutilizables y usaranyOfooneOfpara valores que pueden tener más de una forma válida. - ¿JSON Schema solo es útil para APIs?
- Para nada. JSON Schema es igualmente útil para validar archivos de configuración, documentos de bases de datos, envíos de formularios y cualquier otro dato estructurado que maneje tu aplicación.