Saltar al contenido
uencoder

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}}}
    Output
    Validates that age is a non-negative integer

    Constraint declaration

Errores comunes

Using an outdated draft version breaks validator compatibility
Pin the draft version and use a matching validator

Términos relacionados

Herramientas relacionadas

References