Come verificare un JSON rispetto a uno schema JSON
Inserisci separatamente i dati JSON e lo schema JSON, avvia il controllo e leggi validità e dettagli. In caso di esito non valido, il dettaglio aiuta a distinguere un errore di analisi da una regola dello schema non rispettata.
A cosa serve
Un validatore di JSON Schema serve per controllare se un testo JSON rispetta le regole descritte in uno schema JSON. È utile quando vuoi verificare dati prima di elaborarli, individuare una proprietà mancante o capire perché un valore non passa i controlli previsti. Lo strumento riceve separatamente il testo dei dati e il testo dello schema, poi restituisce l’esito di validità insieme ai dettagli applicabili.
Come eseguire la verifica
-
Prepara il testo JSON da controllare. Inserisci un oggetto, un array o un altro valore JSON nel campo dedicato ai dati.
-
Prepara lo schema JSON che descrive la struttura attesa e inseriscilo nel campo separato dello schema. Puoi indicare, per esempio, il tipo di una proprietà, proprietà obbligatorie, elementi di un array, valori ammessi, limiti numerici o lunghezze minime e massime delle stringhe.
-
Controlla che entrambi i testi siano presenti e scritti come JSON valido. Se uno dei due campi è vuoto o contiene soltanto spazi, il controllo segnala che i dati o lo schema mancano. Se uno dei testi non può essere interpretato come JSON, l’esito non è valido e i dettagli indicano un errore di analisi.
-
Avvia la verifica. Il sistema interpreta prima i due testi e poi confronta i dati con lo schema. Per i valori annidati applica i controlli di tipo in modo ricorsivo: stringhe, numeri, interi, booleani, oggetti e array possono quindi essere verificati anche dentro strutture più profonde.
-
Leggi l’esito di validità e i dettagli. Per gli oggetti, la verifica può segnalare una proprietà obbligatoria assente oppure rifiutare proprietà non dichiarate quando lo schema disabilita quelle aggiuntive. Per gli array, la regola degli elementi viene applicata agli elementi secondo la forma prevista dallo schema.
-
Correggi il testo dei dati o lo schema in base al dettaglio ricevuto e ripeti il controllo. Un numero sotto il minimo, un valore fuori da un insieme ammesso o una stringa troppo lunga possono produrre un esito non valido quando la relativa regola è presente.
Come leggere il risultato
Un esito valido indica che i dati forniti hanno superato i controlli applicati dallo strumento per quello schema. Un esito non valido non significa necessariamente che il testo non sia JSON: può indicare un errore nella struttura JSON, una differenza tra il tipo atteso e quello ricevuto, una proprietà obbligatoria assente, una proprietà aggiuntiva non consentita o il mancato rispetto di un limite o di un valore ammesso.
Tieni separati l’esito dell’operazione e la validità dei dati. Anche quando mancano dati o schema, oppure quando l’analisi del testo fallisce, l’operazione può risultare completata mentre la validità viene indicata separatamente come non valida. Usa quindi i dettagli della verifica per decidere quale testo correggere, invece di considerare soltanto lo stato dell’operazione.
Esempio: devi controllare una risposta JSON che contiene un profilo cliente. Inserisci come dati un oggetto con una proprietà nome testuale e un’età intera, quindi fornisci uno schema che dichiara queste proprietà e richiede l’età come intero non negativo. Il risultato avrà una forma composta da un’indicazione di validità e dai dettagli dei controlli applicati; se l’età è negativa, tra i dettagli comparirà il mancato rispetto del limite minimo.
Esempio pratico
Devi controllare che l’età contenuta nel profilo JSON non sia inferiore al minimo dichiarato nello schema.
Inserisci un oggetto con nome come stringa e eta come intero, poi usa uno schema che richiede eta come intero con valore minimo pari a zero e avvia la verifica.
Il risultato comprende un’indicazione separata di validità e i dettagli dei controlli applicati, inclusa l’eventuale violazione del limite numerico.
Limiti
- La verifica si basa sui controlli applicati dallo strumento e sulle regole effettivamente presenti nello schema; non deduce regole che non sono dichiarate.
- L’esito descrive la validità dei dati rispetto allo schema fornito, non la correttezza del contenuto rispetto a requisiti esterni allo schema.
Errori comuni
- Errore: incollare uno schema o un JSON vuoto, composto solo da spazi, oppure con una sintassi non interpretabile. Correzione: verifica che entrambi i campi contengano testo JSON e che parentesi, virgolette, virgole e valori siano scritti correttamente prima di avviare il controllo.
Domande frequenti
Posso verificare un JSON se lo schema o i dati non sono compilati?
Sì, ma il risultato dipende da entrambi i testi: se i dati o lo schema sono vuoti, vengono segnalati come mancanti; se uno dei testi non è analizzabile come JSON, l’esito non è valido con un dettaglio dell’errore di analisi.
Quali controlli posso applicare allo schema JSON?
Puoi verificare tipi, proprietà obbligatorie, proprietà aggiuntive quando lo schema le vieta, regole per gli elementi degli array, valori ammessi, limiti numerici e lunghezze delle stringhe, quando queste regole sono dichiarate nello schema.
Lo stato dell’operazione conferma che il JSON è valido?
Non necessariamente: un’operazione completata non equivale a dati validi. Anche un input mancante, un errore di analisi o una verifica fallita possono lasciare distinto lo stato dell’operazione dall’indicazione di validità.