Validazione con JSON Schema Spiegata

Cosa è JSON Schema, come validare dati contro uno schema, pattern comuni e come fare il debug di JSON non valido.

JSON Schema è un vocabolario che consente di annotare e validare dati JSON. Definisce la struttura, i tipi e i vincoli dei tuoi dati.

Cos'è JSON Schema?

Un JSON Schema è esso stesso un documento JSON che descrive la forma prevista di un altro documento JSON. Specifica quali campi devono esistere, quali tipi dovrebbero avere e quali valori sono accettabili.

{  "type": "object",  "properties": {    "name": { "type": "string" },    "age": { "type": "integer", "minimum": 0 },    "email": { "type": "string", "format": "email" }  },  "required": ["name", "email"]}

Perché usare JSON Schema?

Senza validazione, la tua applicazione accetta silenziosamente qualsiasi dato. JSON Schema cattura gli errori presto — ai confini dell'API, durante il caricamento della configurazione o prima degli scrub su database.

  • Contratti API — Assicurati che i body di richiesta e risposta corrispondano al formato previsto.
  • Validazione configurazione — Cattura errori di battitura nei file di configurazione.
  • Validazione moduli — Valida gli input dell'utente lato client e server.
  • Documentazione — Uno schema ben scritto serve come documentazione viva.

Parole chiave principali

type specifica il tipo di dato. Per stringhe: minLength, maxLength, pattern, format. Per numeri: minimum, maximum. Per array: items, minItems, maxItems. Per oggetti: properties, required, additionalProperties.

Composizione con allOf, anyOf, oneOf

allOf richiede che tutti gli schema corrispondano. anyOf richiede che almeno uno corrisponda. oneOf richieda che esattamente uno corrisponda.

Debug di JSON non valido

Quando la validazione fallisce, hai bisogno di messaggi di errore chiari. Lo strumento JSON Formatter ti aiuta a formattare e ispezionare il tuo JSON.

Migliori pratiche

  • Usa $ref — Evita di duplicare gli schema.
  • Sii specifico — Usa enum per set di valori fissi.
  • Versiona gli schema — Usa $schema e $id.
  • Valida ai confini — Controlla i dati il prima possibile.

Provalo

Usa uno strumento locale per validare i tuoi dati JSON — tutto funziona nel tuo browser.

Frequently asked questions

Cos'è JSON Schema?
JSON Schema è un vocabolario che consente di annotare e validare documenti JSON.
JSON Schema è la stessa cosa della validazione?
No. JSON Schema è la specifica; la validazione è il processo di verifica dei dati.
JSON Schema può validare JSON contro una specifica API?
Sì. JSON Schema è comunemente usato nelle specifiche OpenAPI/Swagger.
Come fare il debug di un errore di validazione JSON Schema?
La maggior parte dei validatori restituisce il percorso esatto dove la validazione è fallita.