{ } · 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.
- {"a": 1,} → 1:8
- 12345678901234567890 → 12345678901234567000
- 60 B → 86 B (2) → 102 B (4)
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.
| Documento | Codice del motivo | Riga:colonna |
|---|---|---|
| {"a": 1,} | trailing_comma | 1:8 |
| {'a': 1} | single_quotes | 1:2 |
| [1, 2 | unexpected_end | 1:6 |
| {"a": 01} | bad_number | 1:8 |
| {"a": "x\q"} | bad_escape | 1:9 |
| {"a": 1 "b": 2} | missing_comma | 1:9 |
| Numero come scritto | Valore restituito da JSON.parse |
|---|---|
| 12345678901234567890 | 12345678901234567000 |
| 9007199254740993 | 9007199254740992 |
| 1.0000000000000001 | 1 |
| 1E400 | Infinity |
Come formattare un JSON
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.
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.
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.