Cosa fa un formattatore JSON
Il JSON (JavaScript Object Notation) è il formato più diffuso per scambiare dati tra programmi. Le API di solito lo restituiscono come un’unica lunga riga senza spazi, perché gli spazi aggiungono byte e al computer non servono. A noi invece servono. Un formattatore JSON aggiunge a capo e rientri così vedi la struttura: quali valori appartengono a quale oggetto, e dove inizia e finisce ogni array.
Questo strumento fa tre cose:
- Formatta trasforma il JSON compatto in JSON leggibile e indentato.
- Minifica toglie ogni spazio e ogni a capo che non si trova dentro una stringa.
- Convalida controlla il JSON rispetto allo standard e segnala il primo problema che trova.
Come si usa
- Incolla il JSON nel riquadro a sinistra. Viene formattato appena lo incolli. Puoi anche premere Apri file per caricare un file
.json, oppure Esempio per provare con un esempio. - Scegli un Rientro: 2 spazi, 4 spazi o tabulazioni.
- Premi Formatta, Minifica o Convalida. Ctrl+Invio ripete l’ultima azione da tastiera.
- Attiva Ordina chiavi dalla A alla Z se vuoi le chiavi in ordine alfabetico.
- Premi Copia, oppure Scarica per salvare il risultato come file
.json.
Dopo la prima esecuzione il risultato si aggiorna mentre scrivi, così puoi correggere un errore e vederlo sparire.
Prima e dopo
Questa è una tipica risposta di un’API senza spazi:
{"id":42,"name":"Ada Lovelace","active":true,"roles":["admin","editor"],"address":{"city":"London","zip":"NW1"},"score":98.50,"manager":null}
Dopo Formatta con 2 spazi:
{
"id": 42,
"name": "Ada Lovelace",
"active": true,
"roles": [
"admin",
"editor"
],
"address": {
"city": "London",
"zip": "NW1"
},
"score": 98.50,
"manager": null
}
Nota che 98.50 resta 98.50. Il formattatore legge il testo con un proprio parser e copia i numeri carattere per carattere. Anche un ID lungo come 12345678901234567890 resta esatto, mentre uno strumento basato su JSON.parse stamperebbe 12345678901234567000.
Con Ordina chiavi dalla A alla Z e 4 spazi, {"name":"Ada","age":36,"address":{"zip":"NW1","city":"London"}} diventa:
{
"address": {
"city": "London",
"zip": "NW1"
},
"age": 36,
"name": "Ada"
}
Con un input valido, Convalida mostra un breve riepilogo. Per il primo esempio riporta: “JSON valido. La radice è un oggetto con 12 valori in totale e 3 livelli di annidamento.”
Messaggi di errore che potresti vedere
Quando il JSON non è valido, il messaggio sotto i riquadri indica riga e colonna, e Mostra nell’input porta il cursore in quel punto. Questi sono messaggi reali dello strumento:
| Errore | Messaggio |
|---|---|
| Virgola dopo l’ultimo elemento | Riga 4, colonna 1: La virgola prima di “}” non è ammessa |
| Virgolette singole | Riga 1, colonna 2: Era atteso un nome di proprietà tra virgolette doppie, ma c’è una virgoletta singola (le stringhe JSON vogliono le virgolette doppie) |
| Virgola mancante tra due elementi | Riga 3, colonna 3: Era atteso “,” o “}” dopo un valore, ma c’è “”” |
| Chiave senza virgolette | Riga 1, colonna 2: Era atteso un nome di proprietà tra virgolette doppie, ma c’è “n” |
Un commento // |
Riga 2, colonna 3: I commenti non sono ammessi in JSON |
Queste regole vengono dallo standard JSON. Gli oggetti letterali di JavaScript ammettono virgolette singole, chiavi senza virgolette e virgole finali, ed è per questo che il codice copiato da un file .js spesso qui non passa. Se i tuoi dati sono davvero JavaScript, il formattatore JavaScript è la scelta giusta.
Consigli e limiti
- Solo JSON rigoroso.
undefined,NaN, commenti e virgole finali vengono segnalati come errori, perché anche gli altri programmi li rifiuterebbero. - Le chiavi duplicate restano come le hai scritte. Il formattatore non le unisce e non le elimina.
- La minificazione non tocca il contenuto delle stringhe, spazi interni compresi.
- Per controllare un file intero usa Apri file. Tutto resta sul tuo dispositivo.
Altri modi per formattare il JSON
VS Code. Apri un file .json ed esegui Format Document dalla palette dei comandi. VS Code usa il suo formattatore JSON integrato.
Riga di comando con jq. jq . data.json stampa il JSON formattato, mentre jq -c . data.json lo stampa compatto. Con jq puoi anche filtrare e rimodellare i dati.
Riga di comando con Python. python -m json.tool data.json formatta un file con 4 spazi. Fa parte della libreria standard, quindi funziona ovunque sia installato Python.
In JavaScript. JSON.stringify(JSON.parse(text), null, 2) formatta una stringa, ma passa per i numeri di JavaScript, quindi gli ID lunghi possono perdere cifre.
Strumenti correlati
Per trasformare il JSON in un file di configurazione usa il convertitore da JSON a YAML. Per inserire del JSON dentro un’altra stringa JSON usa JSON stringify. Per creare JSON dall’esportazione di un foglio di calcolo prova da CSV a JSON.