Vai al contenuto

{ } · 2 / 4 / tab · minify

Formattatore e validatore JSON

Un formattatore JSON aggiunge l'indentazione a un JSON compatto: un documento di 60 byte diventa di 86 byte con 2 spazi e di 102 byte con 4. Incolla il JSON per ottenere il testo formattato o minificato, oppure riga e colonna del primo errore.

Tutto gira in questa scheda e nulla viene caricato. Il parser segue la RFC 8259, quindi commenti, apici singoli, virgole finali e chiavi senza virgolette vengono segnalati come errori.

Scanned by NortonTM Safe Web

In breve

Prezzo
Nessun costo
Account
Non serve
Standard
RFC 8259 (JSON)
Limiti
5 MB di input, 512 livelli di annidamento
Output
2 spazi, 4 spazi, tabulazione o minificato, chiavi ordinabili a scelta
Caricamento
Nessuno — il testo resta nella scheda del browser

Errori JSON e precisione dei numeri

Questi valori provengono dal parser usato da questa pagina. Righe e colonne si contano da 1.

Primo errore trovato in un documento errato
DocumentoCodice del motivoRiga:colonna
{"a": 1,}trailing_comma1:8
{'a': 1}single_quotes1:2
[1, 2unexpected_end1:6
{"a": 01}bad_number1:8
{"a": "x\q"}bad_escape1:9
{"a": 1 "b": 2}missing_comma1:9
Numeri che JSON.parse arrotonda
Numero come scrittoValore restituito da JSON.parse
1234567890123456789012345678901234567000
90071992547409939007199254740992
1.00000000000000011
1E400Infinity

Come formattare un JSON

1

Incolla il tuo JSON

Digita o incolla nel campo di input un documento JSON fino a 5 MB. C'è già un esempio, così puoi vedere prima il risultato.

2

Scegli l'output

Scegli 2 spazi, 4 spazi, una tabulazione o la forma minificata. Spunta la casella per ordinare le chiavi di ogni oggetto in ordine di unità di codice.

3

Copialo o correggilo

Copia o scarica il risultato. Se il JSON è errato, il messaggio indica riga, colonna e motivo, e un cursore segna il punto nella riga con l'errore.

Come funziona il formattatore JSON

La pagina legge il testo con un parser proprio per la grammatica JSON della RFC 8259, poi lo riscrive con l'indentazione scelta. Poiché il parser fa parte della pagina, ogni browser mostra lo stesso messaggio per lo stesso errore. JSON.parse integrato formula gli errori in modo diverso in Chrome, Firefox e Safari, e non tutti indicano riga e colonna.

Numeri e sequenze di escape delle stringhe vengono copiati esattamente come li hai digitati. JSON.parse trasforma 12345678901234567890 in 12345678901234567000, perché un numero JavaScript è un float a 64 bit con circa 15-17 cifre significative. Questa pagina mantiene tutte le 20 cifre e ti avvisa quando un numero verrebbe arrotondato. La RFC 8259 dice che i nomi degli oggetti dovrebbero essere univoci, quindi le chiavi duplicate vengono conservate e segnalate. I limiti sono 5 MB di input e 512 livelli di annidamento.

Domande sul formattatore JSON

Come formatto un JSON online?

Incolla il JSON nel campo di input. Il testo formattato compare subito, con 2 spazi, 4 spazi o una tabulazione per ogni livello. L'esempio da 60 byte diventa di 86 byte con 2 spazi e di 102 byte con 4 spazi.

Che cosa significa "unexpected token" e dov'è il mio errore?

Significa che il parser ha trovato un carattere che la grammatica JSON non ammette in quel punto. Questa pagina indica il motivo, la riga e la colonna. Per {"a": 1,} segnala trailing_comma alla riga 1, colonna 8.

Perché una virgola finale è un errore in JSON?

La grammatica della RFC 8259 richiede un valore dopo ogni virgola, quindi [1, 2,] e {"a": 1,} non sono validi. I letterali oggetto di JavaScript accettano una virgola finale, ma JSON no. Elimina l'ultima virgola.

Un JSON può contenere commenti o apici singoli?

No. La RFC 8259 non prevede commenti, e stringhe e chiavi usano solo virgolette doppie. Formati come JSON5 e JSONC ammettono entrambi, ma sono formati diversi, e questa pagina li segnala come errori.

Il formattatore modifica i miei numeri?

No. Numeri e sequenze di escape vengono riscritti esattamente come digitati. JSON.parse arrotonderebbe 12345678901234567890 a 12345678901234567000, ma questa pagina mantiene ogni cifra, quindi la formattazione non perde nulla.

Il mio JSON viene caricato da qualche parte?

No. La pagina gira nella scheda del browser e non invia nulla a nessun server. Una volta caricata funziona anche offline. Il limite di input è 5 MB.