Formatter JSON
Incolla un blob JSON — minificato, eseguito o direttamente da una riga di log — e ottienilo stampato in modo elegante con la dimensione di indentazione che scegli. Valida durante l’analisi e mostra la riga e la colonna esatte di qualsiasi errore. Facoltativamente, ordina le chiavi degli oggetti in ordine alfabetico, il che rende le differenze tra due risposte API molto più facili da leggere.
Come formattare JSON
-
1
Incolla il JSON
Minificato, eseguito all'interno di una stringa o racchiuso in un callback JSONP — il parser rimuove tutto.
-
2
Scegli l'indentazione
2 spazi, 4 spazi, un tab o compatto (una sola riga per payload piccoli).
-
3
Attiva l'ordinamento delle chiavi
Ordina alfabeticamente le chiavi degli oggetti per rendere più facile il confronto tra due risposte.
-
4
Copia o scarica
Copia con un clic negli appunti o salva come file `.json`.
Cosa gestisce il formatter
- Input minificato:
{"a":1,"b":[1,2,3]}diventa correttamente indentato. - JSON eseguito in stringhe: una stringa JSON che contiene
"{\"nested\":true}"può essere estratta e formattata. - Callback JSONP:
callback({...})viene ridotto a solo{...}. - BOM e spazi bianchi iniziali: rimossi automaticamente.
- Commenti: i commenti in stile JSONC
//e/* */sono tollerati in modalità “lenient” ma rimossi dall’output (il JSON rigoroso non ha commenti).
Perché formattare JSON in modo elegante
- Differenze: un documento JSON su una sola riga con migliaia di chiavi è illeggibile in un
git diff. Formattato in modo elegante, ogni chiave è una riga. - Debugging: le strutture annidate sono più facili da navigare visivamente con l’indentazione.
- Documentazione: gli esempi API dovrebbero sempre essere formattati, ordinati e stabili tra le ristampe.
- Configurazioni: i file di configurazione JSON dovrebbero essere formattati in modo elegante nel repository per leggibilità; il runtime può analizzare entrambe le forme.
Convenzioni di indentazione
| Contesto | Indentazione tipica |
|---|---|
npm package.json |
2 spazi |
| AWS CloudFormation | 2 spazi |
| Java / .NET legacy | 4 spazi |
| Configurazioni in VCS | 2 spazi (la coerenza a livello di progetto è la cosa più importante) |
Ordinare le chiavi è controverso: rende le differenze più pulite ma cambia l’ordine su disco delle configurazioni canoniche. Scegli una convenzione di progetto e attieniti ad essa.
Errori di validazione che vedrai
| Errore | Correzione |
|---|---|
Token imprevisto ' alla posizione X |
Hai usato virgolette singole; cambia in virgolette doppie |
Fine imprevista dell'input JSON |
Mancanza di una parentesi graffa o quadra |
Token imprevisto , alla posizione X |
Virgola finale; rimuovila |
Token imprevisto a alla posizione X |
Chiave non quotata o letterale NaN/undefined |
Chiave duplicata "foo" (modalità lenient) |
La specifica JSON lo consente; la maggior parte dei parser mantiene l’ultima |
Errori comuni
- Copiare JSON con entità HTML.
"non verrà analizzato; decodifica prima. - Mescolare rigoroso e permissivo. Usa l’analisi permissiva solo per ispezione; non salvare mai JSON permissivo in configurazioni di produzione.
- Formattare un file già formattato in modo elegante in uno stile diverso. Il formatter lo farà felicemente, ma creerai una differenza rumorosa.
Domande frequenti
No. L’analisi e la formattazione avvengono nel tuo browser. Il contenuto non lascia mai la tua scheda — sicuro per incollare risposte API con token, configurazioni interne o payload di staging.
Il formatter stampa in modo elegante JSON valido. Il validatore controlla rispetto a uno schema JSON. Entrambi eseguono un controllo di analisi, ma la validazione è un passaggio separato che chiede “questo corrisponde al mio schema?” piuttosto che semplicemente “questo è JSON valido?”.
Sì. L’opzione “ordina chiavi” ordina tutte le chiavi degli oggetti a ogni livello di annidamento, ricorsivamente. Gli array mantengono il loro ordine originale perché l’ordine degli array è semanticamente significativo in JSON.
Limitato dalla memoria del browser. Fino a ~50 MB funziona su hardware moderno. Oltre, considera jq dalla riga di comando — elenca invece di caricare l’intero documento.