Come si usa
- Incolla il JSON nell’area di testo, apri un file oppure premi «Prova un esempio» per visualizzare un rapporto sugli errori.
- Leggi il risultato: un messaggio verde se il JSON è valido oppure il primo errore, con riga, colonna e un indicatore sotto il problema.
- Correggi l’errore seguendo il suggerimento e controlla di nuovo: il risultato si aggiorna mentre scrivi.
- Se il JSON è valido, consulta le statistiche: tipo della radice, numero di chiavi, profondità di annidamento e dimensione in byte.
Come funziona
Il validatore controlla la sintassi secondo lo standard JSON (RFC 8259 / ECMA-404) usando il parser JSON integrato nel browser. Un documento che supera il controllo viene quindi accettato da JSON.parse di JavaScript e dai parser conformi allo standard in altri linguaggi. Se l'analisi non riesce, un controllo rigoroso realizzato per questo strumento esamina il testo una sola volta per individuare il primo errore e la sua posizione esatta, riga e colonna, quindi mostra la riga con un indicatore ^ sotto il problema.
I suggerimenti si concentrano sugli errori più comuni quando si scrive JSON a mano o lo si copia da JavaScript: una virgola dopo l'ultimo elemento, stringhe tra apici singoli, chiavi senza virgolette, commenti // o /* */, valori come NaN, Infinity o undefined, interruzioni di riga non codificate all'interno delle stringhe e due documenti JSON incollati uno dopo l'altro (come nei file JSON Lines). Viene segnalato solo il primo errore, perché spesso un singolo errore confonde tutto ciò che segue.
Lo strumento controlla solo la sintassi. Non esegue la validazione rispetto a uno JSON Schema, quindi non può indicare se manca un campo obbligatorio. Inoltre, non segnala le chiavi duplicate: lo standard le consente e la maggior parte dei parser mantiene l'ultimo valore. Le statistiche contano le chiavi in ogni oggetto a tutti i livelli; la profondità è 1 per un oggetto o array piatto e aumenta di uno per ogni livello di nidificazione.
Esempi
Configurazione copiata da JavaScript
{name: 'demo', debug: true,} non supera il controllo alla riga 1, colonna 2, con l'errore “Le chiavi degli oggetti devono essere racchiuse tra virgolette doppie”. Dopo aver racchiuso la chiave tra virgolette, il controllo successivo indica la stringa tra apici singoli, poi la virgola finale.
File di log con un oggetto per riga
Incollando due righe come {"id":1} e {"id":2}, viene segnalato “dopo la fine del valore JSON ci sono altri contenuti” alla riga 2. Ogni riga è JSON valido singolarmente (JSON Lines), ma insieme devono essere racchiuse tra [ ] e separate da una virgola.
Verifica di un payload API
Una risposta di 2 MB viene validata in un attimo e mostra Tipo radice: Array, 1.500 elementi di primo livello e una profondità di nidificazione pari a 4: un rapido controllo di coerenza prima di scrivere codice per elaborarla.
Domande frequenti
Verifica la conformità a uno JSON Schema?
No. Controlla che il testo sia JSON sintatticamente valido. Per verificare campi obbligatori, tipi o formati serve un validatore JSON Schema, che questo strumento non include.
Perché viene mostrato un solo errore?
Dopo il primo errore di sintassi, il parser non può sapere cosa intendesse l’autore, quindi i successivi «errori» sono spesso conseguenze del primo. Correggi il problema segnalato: se ce n’è un altro, verrà mostrato subito.
I commenti o le virgole finali sono mai validi?
No, non in JSON. Formati come JSON5 e JSONC (usati nei file di impostazioni di alcuni editor) le consentono, ma i parser JSON standard le rifiutano: qui vengono quindi segnalate come errori.
Un singolo valore come 42 o "hello" è JSON valido?
Sì. A partire da RFC 7159, qualsiasi valore JSON può essere la radice, non solo oggetti e array. Alcuni strumenti e API meno recenti si aspettano ancora un oggetto o un array al livello principale.
Perché la colonna può essere diversa da quella indicata dal mio editor?
Le colonne vengono conteggiate in unità di codice UTF-16, come fa JavaScript quando calcola la lunghezza di una stringa. Emoji e alcuni caratteri rari valgono due unità; una tabulazione vale una colonna, anche se gli editor possono visualizzarla più larga.
Privacy
La convalida avviene interamente nel browser. Il JSON che incolli o apri non viene caricato, archiviato né incluso nelle statistiche.