JSON Schema
JSON Schema es un vocabulario para describir la estructura de documentos JSON, definiendo tipos, restricciones y reglas de validación; es el estándar de esquemas para JSON.
Propósito
Dar a JSON un mecanismo de validación similar a XSD, garantizando que los datos coincidan con la estructura esperada.
Mecanismo
Un esquema se describe en JSON: type declara el tipo, properties las propiedades del objeto, items los elementos del array, required los campos obligatorios, y minimum/maximum/pattern las restricciones. Draft 2020-12 es la última versión. Los validadores (ajv) comprueban los documentos contra él.
Casos de uso
- Validación de peticiones/respuestas de API
- Comprobación de archivos de configuración
- Validación de datos de formularios
- Definiciones de tipos en OpenAPI
Ejemplos
- entrada
{"type":"object","properties":{"age":{"type":"integer","minimum":0}}}OutputValidates that age is a non-negative integerConstraint declaration
Errores comunes
- Using an outdated draft version breaks validator compatibility
- Pin the draft version and use a matching validator
Términos relacionados
XSD
XSD (XML Schema Definition) es el lenguaje estándar del W3C para definir la estructura de documentos XML, describiendo elementos, atributos y restricciones de tipos en sintaxis XML. GLOSARIO
DTD
Un DTD (Document Type Definition) es el mecanismo de definición de estructura de XML 1.0; es más simple que XSD pero limitado, y se escribe en una sintaxis especial (no XML). GLOSARIO
JSON
JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos basado en los literales de objeto de JavaScript, usando pares clave-valor y arrays. GLOSARIO