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 clave | Propósito |
|---|---|
type | string, number, integer, boolean, array, object, null |
properties | Forma de los campos del objeto |
required | Nombres de propiedades obligatorias |
items | Esquema para cada elemento del array |
enum | Valores literales permitidos |
minLength / maxLength | Lí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
- Escribe o genera un esquema para tu payload esperado.
- Ejecuta un validador (biblioteca o herramienta) contra el JSON entrante.
- 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.