Lección 8

Fundamentos de JSON Schema

Describe y valida la forma de un documento con tipos, campos requeridos y restricciones.

JSON Schema es un vocabulario para anotar documentos JSON con reglas: qué propiedades existen, sus tipos y restricciones de valor. Los equipos lo usan para validar payloads de API, archivos de config y datos generados.

Un esquema mínimo

Este esquema describe un objeto con un string name requerido y un number age opcional:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "name": { "type": "string" },
    "age": { "type": "integer", "minimum": 0 }
  },
  "required": ["name"],
  "additionalProperties": false
}

Instancia válida:

{ "name": "Ada", "age": 30 }

Inválido: falta name, tipo incorrecto o claves desconocidas extra cuando additionalProperties es false.

Palabras clave principales

Palabra clavePropósito
typestring, number, integer, boolean, array, object, null
propertiesForma de los campos del objeto
requiredNombres de propiedades obligatorias
itemsEsquema para cada elemento del array
enumValores literales permitidos
minLength / maxLengthLímites de cadenas

Por qué importan los esquemas

  • Contratos entre equipos de frontend y backend
  • Validación automatizada en CI antes del despliegue
  • Documentación que permanece legible por máquinas
  • OpenAPI suele incrustar o referenciar JSON Schema para cuerpos de petición

Flujo de validación

  1. Escribe o genera un esquema para tu payload esperado.
  2. Ejecuta un validador (biblioteca o herramienta) contra el JSON entrante.
  3. Corrige datos o esquema cuando aparezcan casos límite reales — los esquemas evolucionan como el código.

Los esquemas no reemplazan comprender la sintaxis JSON de lecciones anteriores — se sitúan encima, describiendo la estructura permitida una vez el JSON ya es parseable.

Volver al resumen del curso