Formattatore e convertitore JSON
Formatta, convalida, compatta e converti JSON.
Come si usa
Incolla il JSON e scegli un’azione. «Formatta» aggiunge rientri di 2 o 4 spazi o di tabulazioni; «Convalida» controlla la sintassi e mostra il tipo del valore di primo livello, quante chiavi o quanti elementi contiene al primo livello (senza contare quelli annidati) e il numero di caratteri; «Compatta» rimuove tutti gli spazi superflui; «Vista ad albero» mostra oggetti ed elenchi annidati come un albero comprimibile. Ctrl+Enter (Cmd+Enter su Mac) nella casella di input avvia la formattazione.
La convalida segue lo standard JSON (RFC 8259) così come lo interpreta il tuo browser. I nomi delle proprietà e le stringhe richiedono le virgolette doppie; true, false e null vanno in minuscolo; virgole finali, commenti, apici singoli, NaN e Infinity non sono ammessi. Quando l’analisi non riesce, il messaggio di errore ne spiega il motivo e, se il browser fornisce una posizione (Chrome e Firefox lo fanno per la maggior parte degli errori), indica la riga e la colonna in cui si è interrotta.
La formattazione e la compattazione leggono i dati e li riscrivono, quindi oltre agli spazi possono cambiare alcune cose: i numeri interi maggiori di 9.007.199.254.740.991 possono perdere precisione, i numeri con più di circa 17 cifre significative vengono arrotondati, i numeri troppo grandi per JavaScript (come 1e400) diventano null, 1.0 diventa 1 e 1e3 diventa 1000, una chiave che compare due volte nello stesso oggetto conserva solo l’ultimo valore, le chiavi che sembrano numeri interi (come "1" o "10") si spostano all’inizio del loro oggetto in ordine numerico e la maggior parte degli escape \u diventa il carattere che rappresenta. Memorizza gli ID lunghi come stringhe per mantenerli esatti.
«JSON → CSV» trasforma un elenco di oggetti in una riga per oggetto, con un’intestazione formata da tutte le chiavi nell’ordine in cui compaiono per la prima volta; i valori mancanti e quelli null diventano entrambi celle vuote, e gli oggetti o elenchi annidati vengono scritti nella cella come JSON. Un singolo oggetto diventa una riga, e un elenco di valori semplici diventa un’unica colonna chiamata value. Come separatore scegli la virgola, il punto e virgola o la tabulazione; i fogli di calcolo dei paesi che usano la virgola decimale spesso si aspettano il punto e virgola.
La conversione «JSON → YAML» scrive ogni valore stringa tra virgolette doppie e mette tra virgolette chiavi come yes, no, on, off, true, false e null, così che i parser YAML 1.1 non le interpretino come true, false o null. Tutto viene eseguito nel browser; non viene caricato nulla.
Esempio
Formatta l’oggetto di esempio con rientri. I valori restano invariati; cambia solo la presentazione.
{"name":"Ana","active":true}Viene formattato come un oggetto rientrato con due chiavi.{"name":"Ana",}JSON non valido per la virgola finale. I browser che indicano una posizione indicano la riga 1, colonna 15.[{"id":1,"tags":["a","b"]},{"id":2,"name":"Ana"}]CSV con tre colonne: id, tags e name. La cella tags contiene l’elenco come testo JSON tra virgolette, e il name mancante del primo oggetto è una cella vuota.{"id":12345678901234567890}Valido, ma la formattazione scrive 12345678901234567000: il numero supera la precisione di un numero JavaScript.{"country":"no"}YAML: country: "no", tra virgolette perché resti una stringa.
Domande frequenti
La formattazione modifica i dati?
Di solito cambiano solo gli spazi. Le eccezioni sono i numeri molto grandi o molto precisi, i numeri scritti come 1.0 o 1e3, le chiavi duplicate, le chiavi che sembrano numeri interi (che si spostano all’inizio) e gli escape \u, che vengono riscritti nella loro forma standard. I valori che devono restare esatti, come gli ID lunghi, dovrebbero essere stringhe.
Posso usare commenti o virgole finali?
Non in JSON. JSON5 li consente entrambi, e JSONC consente i commenti e, in alcuni parser, le virgole finali, ma i parser JSON standard li rifiutano. Rimuovili prima della convalida.
Perché il mio oggetto funziona in JavaScript ma qui no?
Un oggetto letterale JavaScript accetta chiavi senza virgolette, apici singoli, virgole finali e commenti. JSON non accetta nessuno di questi elementi.
Il mio JSON viene caricato online?
No. L’analisi e la conversione avvengono localmente nel tuo browser.