Introduccion a JSON Schema: valida estructura como en SQL
2024-04-13
Tener JSON valido en sintaxis no garantiza datos correctos. JSON Schema describe la forma permitida para verificar en runtime o CI.
Schema minimo
Empieza con tipo raiz object o array, define properties y lista required.
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["id", "name"],
"properties": {
"id": { "type": "integer" },
"name": { "type": "string", "minLength": 1 }
}
}Palabras clave comunes
type, enum, items, additionalProperties: false, oneOf y $ref son las mas usadas.
Uso en codigo
En JS puedes usar ajv; en Python jsonschema; en Go gojsonschema. OpenAPI usa un subconjunto de JSON Schema.
Frente a validar sintaxis
Primero JSON.parse, despues schema: separa errores de formato de errores de contrato.
Adopcion en equipo
Guarda schemas en repo, valida fixtures en CI y actualiza schema antes de cambios de API.