Che cosa dice il rapporto
Per un documento che si analizza: la forma del valore radice e la dimensione.
✓ Valid JSON
Root: object (4 keys)
Size: 312 characters, 18 lines
Altrimenti: il messaggio del parser, con la posizione tradotta in riga e colonna — una volta, non due.
Qualunque valore JSON è un documento
42 è JSON valido. Anche "ciao", anche true, anche null.
È così dalla RFC 7159 (2014); la RFC 4627 originale pretendeva un oggetto o un array al livello superiore. Alcuni parser più vecchi applicano ancora la vecchia regola, e conviene ricordarlo il giorno in cui un validatore dice sì e la tua libreria dice no.
Chiavi doppie: un avviso, non un errore
{ "port": 8080, "port": 3000 }
Il rapporto dichiara il documento valido e aggiunge una nota con la posizione del secondo port.
È una differenza voluta rispetto al formattatore JSON, che rifiuta lo stesso input. La RFC 8259 dice che i nomi di un oggetto dovrebbero essere unici — un «dovrebbero», non un «devono» — quindi il documento è davvero valido, e un validatore descrive ciò che vede.
Un formattatore deve produrre qualcosa, e produrre vuol dire decidere quale dei due valori sopravvive. I parser decidono diversamente: la maggior parte tiene l’ultimo, alcuni il primo, altri rifiutano. Quella scelta è tua, non di uno strumento: il formattatore si ferma, il validatore avvisa.
Che cosa «valido» non vuol dire
Non vuol dire che il file dica ciò che credi.
Un campo obbligatorio assente, una stringa dove va un numero, una data scritta all’americana, un URL con un refuso: tutto ciò si analizza perfettamente. Verificarlo richiede uno schema — JSON Schema, e un validatore che lo legga — cioè una domanda diversa da quella a cui questa pagina risponde.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.