Formattare e convalidare JSON senza uscire dal browser
Il JSON è il formato di testo usato dalla maggior parte delle API, da molti file di configurazione e dalle esportazioni delle applicazioni. Conosce solo sei tipi di valori: oggetto, array, stringa, numero, booleano e null. Esempio: {"citta":"Bologna","cap":[40121,40122],"metro":false}.
Incolla il testo in «Il tuo JSON», trascina un file .json sull'area o fai clic su «Apri un file». La convalida avviene mentre scrivi: compare «JSON valido.» oppure un messaggio con riga, colonna e causa, insieme a un estratto con il carattere sbagliato evidenziato. Il pulsante «Vai all'errore» porta il cursore proprio lì.
Come si usa
- Scegli il «Risultato»: «Formatta», «Minifica» o «JSON → CSV».
- Imposta il «Rientro» (2 spazi, 4 spazi o tabulazione) e, se serve, spunta «Ordina le chiavi (a tutti i livelli)».
- Passa da «Testo» ad «Albero» per esplorare i dati.
- Fai clic su «Copia» o «Scarica». I riquadri «Dimensione del JSON», «Dimensione del risultato», «Chiavi» e «Profondità» danno le statistiche.
Regole di sintassi ed errori frequenti
Il JSON è più rigido del JavaScript. Chiavi e stringhe vanno tra virgolette doppie, gli elementi sono separati da virgole e dopo l'ultimo non deve esserci nulla.
| Scritto | Problema | Corretto |
|---|---|---|
{"a":1,} | virgola finale | {"a":1} |
{"a":'x'} | apici singoli | {"a":"x"} |
{a:1} | chiave senza virgolette | {"a":1} |
{"a":1} // nota | commenti vietati | {"a":1} |
{"a":NaN} | NaN e Infinity non esistono | {"a":null} |
Con {"a":1,} lo strumento segnala «riga 1, colonna 8: virgola di troppo prima di «}»». La colonna 8 è la graffa di chiusura, arrivata dove era attesa una chiave. Le posizioni sono calcolate dallo strumento stesso, quindi il risultato è identico in ogni browser.
La casella «Riparazione leggera» corregge le quattro sviste tipiche di un JSON scritto a mano: virgole finali, apici singoli, chiavi senza virgolette e commenti // o /* */. Ogni correzione compare in un elenco con la sua riga. Così {a:'x', /*c*/ b:[1,2,],} diventa {"a":"x","b":[1,2]} dopo sei correzioni. NaN e gli altri errori restano segnalati: la scelta spetta a te.
Formattare o minificare: a cosa serve
Formattare aggiunge a capo e rientri per leggere la risposta di un'API o rivedere un file di configurazione. Minificare fa l'opposto: tutto su una riga, senza spazi inutili, per alleggerire i dati inviati in rete. L'esempio riparato qui sopra pesa 19 byte minificato e 41 byte formattato con 2 spazi. Ordinare le chiavi aiuta a confrontare due versioni dello stesso file.
«JSON → CSV» trasforma un array di oggetti piatti, come [{"prodotto":"Caffè, 250 g","prezzo":3.49}], in una tabella per il foglio di calcolo. Le celle con una virgola o delle virgolette vengono racchiuse tra virgolette, secondo la regola consueta del CSV. Per un foglio di calcolo con impostazioni italiane scegli il separatore «Punto e virgola».
Leggere la vista ad albero e i percorsi
Ogni oggetto mostra quante chiavi contiene e ogni array quanti elementi. I colori distinguono stringhe, numeri, booleani e null. I nodi si aprono uno alla volta, a blocchi di 200 figli, così la pagina resta fluida anche con un file di diversi megabyte. Un clic su una chiave mostra il suo percorso, per esempio $.users[1].name: il nome del secondo utente, perché gli array partono da 0. «Copia il percorso» lo mette negli appunti per uno script o una query JSONPath. Il campo «Cerca nelle chiavi e nei valori» elenca i nodi trovati; un clic su un percorso apre l'albero fino a lì.
Riservatezza: tutto viene elaborato in locale
Nulla lascia il tuo computer: nessun invio, nessuna copia del contenuto salvata. Puoi incollare la risposta di un'API con dei token o un'esportazione di clienti. Solo le tue impostazioni (rientro, separatore, caselle spuntate) restano memorizzate nel browser.
Domande frequenti
Perché il mio identificativo lungo cambia valore?
Il browser legge i numeri con una precisione limitata: oltre 9.007.199.254.740.991 (2^53 − 1), gli interi vengono arrotondati. 12345678901234567890 diventa 12345678901234567000. Lo strumento mostra un avviso quando ne trova uno; conserva questi identificativi come stringhe.
Le lettere accentate e le emoji restano intatte?
Sì. Il risultato resta in UTF-8: «perché» e «東京» non vengono trasformati in sequenze \u.
Quanto può essere grande il file?
Fino a 50 MB all'apertura di un file. Uno da 5 MB si formatta in meno di due secondi su un computer recente.
Che fine fanno le chiavi duplicate?
Il JSON le tollera, ma nella formattazione resta solo l'ultimo valore: {"a":1,"a":2} diventa {"a":2}.