Introduction a JSON Schema : valider la structure comme en SQL

2024-04-13

Un JSON syntaxiquement valide peut rester incorrect metier. JSON Schema decrit la forme autorisee pour verifier en runtime ou CI.

Schema minimal

Commencez par un type racine object ou array, puis properties et required.

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "required": ["id", "name"],
  "properties": {
    "id": { "type": "integer" },
    "name": { "type": "string", "minLength": 1 }
  }
}

Mots-cles frequents

type, enum, items, additionalProperties: false, oneOf et $ref couvrent la plupart des besoins.

Usage en code

En JS: ajv ; en Python: jsonschema ; en Go: gojsonschema. OpenAPI repose sur un sous-ensemble JSON Schema.

Par rapport a la syntaxe

D'abord JSON.parse, ensuite schema : separer erreur de format et violation de contrat.

Adoption equipe

Versionnez les schemas, validez les fixtures en CI et mettez a jour le schema avant l'implementation API.