Schema da JSON a JSON
Schema JSON per JSON
Cos'è uno schema JSON?
Uno schema JSON è un documento JSON che definisce la struttura e le regole di validazione per un altro documento JSON. È simile a uno schema XML, ma è progettato specificamente per JSON.
Gli schemi JSON vengono utilizzati per:
- Validare i dati JSON: Assicurarsi che i dati JSON rispettino una struttura e un formato specifici.
- Documentare la struttura dei dati JSON: Fornire informazioni chiare e concise su come devono essere strutturati i dati JSON.
- Generare dati JSON: Creare automaticamente documenti JSON validi.
- Scambiare dati JSON: Facilitare lo scambio di dati JSON tra diverse applicazioni.
Come è strutturato uno schema JSON?
Uno schema JSON è composto da una serie di parole chiave e valori che definiscono le regole di validazione per il documento JSON corrispondente. Le parole chiave più comuni includono:
- $schema: Specifica la versione dello schema JSON che viene utilizzata.
- title: Fornisce un titolo descrittivo per lo schema JSON.
- type: Definisce il tipo di dato principale per il documento JSON. Può essere uno dei seguenti:
- object: Un oggetto JSON, che è una raccolta di coppie nome-valore.
- array: Un array JSON, che è una lista ordinata di valori.
- string: Una stringa di caratteri JSON.
- number: Un numero JSON.
- boolean: Un valore booleano JSON (true o false).
- null: Il valore null JSON.
- properties: Definisce le proprietà di un oggetto JSON. Ogni proprietà è definita come una coppia nome-valore, dove il nome è il nome della proprietà e il valore è uno schema JSON che definisce le regole di validazione per la proprietà.
- required: Specifica una lista di proprietà obbligatorie per un oggetto JSON.
- additionalProperties: Determina se sono ammesse proprietà aggiuntive in un oggetto JSON.
- items: Definisce le regole di validazione per gli elementi di un array JSON.
- minItems: Specifica il numero minimo di elementi che deve avere un array JSON.
- maxItems: Specifica il numero massimo di elementi che può avere un array JSON.
- pattern: Definisce un'espressione regolare che deve corrispondere al valore di una proprietà o elemento JSON.
- enum: Specifica una lista di valori validi per una proprietà o elemento JSON.
Esempio di schema JSON
{
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Esempio di schema JSON",
"type": "object",
"properties": {
"nome": {
"type": "string",
"minLength": 3,
"maxLength": 20
},
"età": {
"type": "integer",
"minimum": 18,
"maximum": 100
},
"email": {
"type": "string",
"pattern": "^[a-zA-Z0-9.+_-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$"
},
"hobby": {
"type": "array",
"items": {
"type": "string"
},
"minItems": 1,
"maxItems": 5
}
},
"required": ["nome", "età", "email"]
}
Questo schema JSON definisce la struttura e le regole di validazione per un documento JSON che rappresenta una persona. Specifica che il documento deve essere un oggetto con le proprietà nome
, età
, email
e hobby
. Definisce anche regole per ogni proprietà, come il tipo di dato, la lunghezza minima e massima, il formato di posta elettronica e il numero di hobby consentiti.
Strumenti per lavorare con gli schemi JSON
Esistono diversi strumenti che possono aiutarti a lavorare con gli schemi JSON, come:
- Validatori JSON: Questi validatori verificano se un documento JSON è conforme a uno schema JSON specifico.
- Generatori di schemi JSON: Questi strumenti generano automaticamente uno schema JSON da un esempio di documento JSON.
- Editor di schemi JSON: Questi editor ti permettono di creare e modificare gli schemi JSON in modo visivo.