Vai al contenuto
SDETRole
SDETRole

JSON e dati

Validatore JSON

Verifica la sintassi JSON e individua la posizione esatta dell’errore.

Funziona interamente nel tuo browser Senza registrazione

Input JSON

0 chars

Informazioni sullo strumento

Un errore di sintassi in un file di fixture o nel body di una richiesta è una delle cause più comuni di fallimenti di test poco chiari. Questo validatore controlla il JSON secondo lo standard rigoroso e segnala il primo errore con riga e colonna; quando il documento è valido mostra un riepilogo della struttura (oggetti, array, chiavi e profondità). Per validare la forma dei dati anziché la sintassi, usa il validatore JSON Schema.

Come si usa

  1. Incolla il JSON da verificare.
  2. Leggi il banner del risultato: verde significa valido, rosso mostra il messaggio di errore e la posizione.
  3. Correggi il punto segnalato: il risultato si aggiorna mentre scrivi.

Che cosa è JSON valido

Il validatore applica la grammatica rigorosa della RFC 8259, le stesse regole di JSON.parse. Un documento è un singolo valore: un oggetto, un array, una stringa, un numero, true, false o null. Un semplice "hello" o 42 è quindi JSON valido, anche se la maggior parte delle API restituisce un oggetto.

Le chiavi duplicate sono una trappola frequente. Lo standard dice che i nomi DOVREBBERO essere univoci ma non vieta le ripetizioni, e JSON.parse mantiene silenziosamente l’ultimo valore. Un controllo di sintassi non segnala {"id": 1, "id": 2}, quindi cerca i duplicati in code review o con un linter.

Come leggere il messaggio di errore

Ogni browser formula gli errori di parsing in modo diverso. Chrome mostra messaggi come “Unexpected token” o “Expected property name” con una posizione, Firefox indica riga e colonna. In ogni caso la posizione è il punto in cui il parser si è arreso, di solito subito dopo l’errore vero: una virgola mancante, un apice non chiuso o una parentesi di troppo nella riga precedente.

Validare il JSON nei test automatici

  • Playwright: await response.json() lancia un’eccezione quando il body non è JSON valido, quindi il test fallisce su quella riga. Controlla anche response.headers()['content-type'], perché un server può inviare testo JSON etichettato come HTML.
  • REST Assured: verifica .contentType(ContentType.JSON), poi controlla la struttura con matchesJsonSchemaInClasspath("order-schema.json") del modulo json-schema-validator.
  • Postman: pm.response.json() lancia un’eccezione con JSON non valido e pm.response.to.be.json verifica il content type.
  • Per forma e tipi (campi obbligatori, formati, enum) passa al validatore JSON Schema. La validazione sintattica dimostra solo che il testo è analizzabile.

Validatore JSON: domande frequenti

Che differenza c’è tra validazione JSON e validazione con schema?

La validazione sintattica verifica che il testo sia JSON ben formato. La validazione con schema verifica che il JSON ben formato abbia i campi, i tipi e i vincoli attesi, ad esempio “id è un intero obbligatorio”.

Perché l’errore indica una posizione successiva all’errore reale?

I parser segnalano il punto in cui non sono più riusciti a proseguire. Una virgola o un apice mancante si trovano di solito subito prima della posizione indicata.

Scrivi per cercare in tutto SDETRole.

Ricerca full-text con Pagefind · funziona nel tuo browser Apri la pagina di ricerca →