Formattare JSON
Incolla del JSON e viene riformattato o compresso su una riga sola.
Risultato
Incolla del JSON nel campo qui sopra.
Come funziona
JSON è un formato testuale per dati strutturati, costruito con oggetti dai campi con nome, elenchi, stringhe, numeri, vero, falso e vuoto.
La formattazione cambia solo gli spazi. I dati sono gli stessi prima e dopo, quindi puoi riformattare un file senza timori prima di leggerlo.
La compressione toglie tutti gli spazi e gli a capo superflui, il che riduce di solito del venti o trenta per cento la dimensione del JSON indentato.
Se il testo non si riesce ad analizzare, compare il messaggio d’errore dell’analizzatore del browser, che di solito mostra quale carattere era inatteso. I casi più frequenti sono una virgola di troppo prima di una parentesi di chiusura e virgolette del tipo sbagliato.
In JSON i commenti non sono ammessi, e i nomi dei campi devono stare fra virgolette doppie dritte. È la differenza più comune rispetto a come si scrivono gli oggetti in JavaScript.
Come formatta lo strumento
Lo strumento fa due cose una dopo l’altra. Prima il testo passa per JSON.parse del browser, ma solo per controllare che sia valido. La riformattazione percorre poi il tuo testo carattere per carattere: gli spazi fuori dalle stringhe vengono tolti, e dopo parentesi graffe, parentesi quadre e virgole si aggiungono a capo e rientri di due o quattro spazi. Oggetti ed elenchi vuoti si scrivono chiusi, senza spazi. Le stringhe vengono copiate senza toccarle, sequenze di escape comprese. La compressione è lo stesso passaggio senza a capo né rientri.
I numeri restano come sono scritti
Leggere un JSON in JavaScript e riscriverlo può cambiare i numeri, perché JavaScript ha un solo tipo numerico con precisione limitata. Provato con il codice dello strumento, l’intero 12345678901234567890 diventa 12345678901234567000, il numero 1.0 diventa 1 e 1e400 diventa null. Nello strumento tutti e tre restano esattamente come sono scritti. La RFC 8259 considera sicuri fra sistemi diversi solo gli interi fino a 2⁵³ − 1, cioè 9.007.199.254.740.991, e I-JSON (RFC 7493) raccomanda di inviare come stringhe i numeri esatti più grandi.
Nomi doppi
Un oggetto con lo stesso nome due volte supera il controllo. La RFC 8259 dice solo che i nomi dovrebbero essere unici e che quello che fa chi riceve con i doppioni è imprevedibile; molti analizzatori tengono solo l’ultimo valore. Lo strumento li tiene entrambi, quindi il doppione si vede nel risultato. Un passaggio da JavaScript avrebbe eliminato il primo valore senza dirlo. I-JSON vieta del tutto i doppioni.
Errori comuni
Una tabulazione o un a capo dentro una stringa rendono il testo non valido, perché la RFC 8259 chiede che i caratteri di controllo U+0000–U+001F siano scritti con una sequenza di escape, come \t per la tabulazione. Succede facilmente quando si incolla testo da un foglio di calcolo. Vengono rifiutati anche NaN e Infinity, che esistono in JavaScript ma non in JSON, e un byte order mark all’inizio, anche se la RFC 8259 permette agli analizzatori di ignorarlo.