Formattare e convalidare JSON
Rendi il JSON più leggibile, controlla la sintassi o crea una versione compatta. Questa guida spiega l'indentazione, l'ordinamento delle chiavi e il salvataggio del risultato.
Prova l'esempio fornito
Scarica order-options.json, un ordine inventato con due articoli e nomi dei campi in inglese. L'oggetto customer raggruppa un nome e una città; l'array items contiene CARD-02 seguito da BOX-01. L'esempio include testo tra virgolette, quantità e prezzi numerici, il valore booleano true e null per una nota di consegna vuota. I campi sono volutamente non ordinati per mostrare l'effetto dell'opzione di ordinamento.
Passo dopo passo
- Apri Formattatore e validatore JSON. Usa File per aprire il file order-options.json fornito oppure incollane il contenuto in I tuoi dati.
- Imposta Rientro su 2 per usare due spazi per livello. Lascia Ordina chiavi degli oggetti non selezionato per la prima elaborazione.
- Seleziona Elabora input. Lo strumento controlla la sintassi JSON prima di mostrare un risultato. Se segnala un errore, usa la riga e la colonna per individuarlo, correggi l'input e riprova.
- Leggi il risultato. L'oggetto customer e i due articoli dovrebbero essere facili da seguire, con un campo o un elemento per riga. I campi mantengono l'ordine dell'esempio quando l'ordinamento non è selezionato.
- Seleziona Scarica risultato per salvare formatted.json. Puoi anche usare Copia testo per inserire il risultato in un altro editor.
- Apri il file scaricato in un editor di testo e confrontalo con l'esempio usando i controlli riportati sotto. Poi prova le altre opzioni di indentazione e ordinamento, selezionando Elabora input dopo ogni modifica.
Esempi prima e dopo
Questi brevi esempi usano l'oggetto customer di order-options.json come piccolo documento JSON. Confronta lo stesso nome e la stessa città prima e dopo ogni impostazione. La sezione di riferimento facoltativa alla fine mostra l'ordine completo.
Rendere più leggibile il JSON compatto
Imposta Rientro su 2, lascia Ordina chiavi degli oggetti non selezionato e seleziona Elabora input. Il risultato aggiunge interruzioni di riga e due spazi per livello mantenendo l'ordine originale dei campi.
Prima: input compatto
{"customer":{"name":"Zoë","city":"Bergen"}}Dopo: indentazione di due spazi
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Ordinare le chiavi all'interno di un oggetto
Mantieni Rientro su 2, seleziona Ordina chiavi degli oggetti e poi Elabora input. All'interno di customer, city precede ora name. Entrambi i valori restano uguali.
Prima: ordine originale delle chiavi
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Dopo: chiavi dell'oggetto ordinate
{
"customer": {
"city": "Bergen",
"name": "Zoë"
}
}Rendere il JSON compatto
Scegli Minimizza in Rientro, lascia Ordina chiavi degli oggetti non selezionato e seleziona Elabora input. Gli spazi di formattazione e le interruzioni di riga scompaiono; il testo e l'ordine dei campi restano uguali.
Prima: indentazione di due spazi
{
"customer": {
"name": "Zoë",
"city": "Bergen"
}
}Dopo: Minimizza
{"customer":{"name":"Zoë","city":"Bergen"}}Scegliere l'indentazione
| Opzione | Effetto |
|---|---|
| 2 | Usa due spazi per ogni livello di annidamento. È l'impostazione delle istruzioni principali. |
| 4 | Usa quattro spazi per ogni livello di annidamento, rendendo più evidenti gli oggetti e gli array annidati. |
| ↹ | Usa una tabulazione per ogni livello di annidamento. La larghezza visiva dipende dall'editor di testo. |
| Minimizza | Rimuove gli spazi di formattazione e le interruzioni di riga. Gli spazi nel testo tra virgolette restano parte del testo. Scegli questa opzione per un output compatto, quindi seleziona Elabora input. |
Modificare l'input o un'opzione cancella il risultato precedente. Seleziona di nuovo Elabora input per creare un risultato con le nuove impostazioni. Lo strumento legge ogni volta l'area di input e non vi reinserisce automaticamente il risultato precedente.
Ordinare le chiavi degli oggetti
Lascia Ordina chiavi degli oggetti non selezionato per mantenere l'ordine originale dei campi di ogni oggetto. Quando è selezionato, ordina le chiavi secondo l'ordine testuale, distinguendo maiuscole e minuscole, in tutto il documento, compresi gli oggetti negli array. Gli elementi degli array mantengono la sequenza originale.
- Mantieni Rientro su 2, seleziona Ordina chiavi degli oggetti e poi Elabora input.
- Le chiavi di primo livello diventano customer, deliveryNote, items, order e paid. All'interno di customer, city precede name. In ogni articolo, price precede quantity e sku.
- L'array items contiene ancora CARD-02 seguito da BOX-01. Ordinare le chiavi non ordina gli articoli per sku o prezzo.
Copiare, scaricare e ricominciare
| Opzione | Effetto |
|---|---|
| Copia testo | Copia il risultato attuale come testo. Se la copia non è disponibile, lo strumento seleziona il risultato per consentirti di copiarlo manualmente. |
| Scarica risultato | Salva il risultato attuale come formatted.json. Questo nome viene usato per i risultati formattati, compattati e ordinati: rinomina i file se vuoi conservarne più versioni. |
| Stampa risultati | Apre la finestra di stampa del browser per il testo del risultato. |
| Carica esempio | Sostituisce l'input con l'esempio incorporato nello strumento e lo elabora con le impostazioni attuali. È diverso dal file order-options.json di questa guida. |
| Rimuovi tutto | Cancella l'input, il file selezionato e il risultato. Le scelte di indentazione e ordinamento restano selezionate. |
Controllare il JSON scaricato
- Apri formatted.json in un editor di testo. Verifica che l'ordine sia ORD-1042, che il cliente sia Zoë a Bergen e che ci siano due articoli.
- Controlla i valori e i tipi: quantity contiene i numeri 2 e poi 1, i prezzi mantengono 19.50 e 5.00, paid è il booleano true senza virgolette e deliveryNote è il valore null senza virgolette. I nomi e i codici degli articoli tra virgolette restano stringhe.
- Dopo aver provato Ordina chiavi degli oggetti, verifica l'ordine dei campi indicato sopra e che CARD-02 preceda ancora BOX-01 nell'array items.
- Prova Minimizza e Elabora input. Incolla il risultato in I tuoi dati, imposta Rientro su 2 e seleziona di nuovo Elabora input. Confronta i valori e l'ordine degli articoli con l'esempio originale: le opzioni di formattazione devono conservarli.
Domande e risoluzione dei problemi
Perché segnala JSON non valido?
Controlla la riga e la colonna indicate, oltre al campo immediatamente precedente. Le chiavi e il testo richiedono virgolette doppie; i campi richiedono virgole e due punti; le parentesi quadre e graffe devono chiudersi. Correggi l'input e seleziona di nuovo Elabora input. La convalida controlla la sintassi JSON, quindi un risultato valido può comunque essere privo di campi richiesti dalla tua applicazione.
Posso usare commenti o una virgola finale?
Rimuovi i commenti e le virgole immediatamente prima di una parentesi quadra o graffa di chiusura. Non sono validi in JSON. Il formattatore richiede un input valido e non lo corregge automaticamente.
Che cosa significa l'avviso di chiave ripetuta?
Il messaggio «Le chiavi ripetute sono state conservate. Alcuni lettori scartano le chiavi ripetute.» indica che una chiave compare più di una volta nello stesso oggetto. Il formattatore conserva queste voci e mostra un avviso. Esamina la fonte, scegli il valore desiderato e rimuovi la voce aggiuntiva; un'altra applicazione potrebbe conservarne soltanto una.
Perché il file non si apre o non viene elaborato?
Il limite di input è 2 MiB, pari a 2.097.152 byte. I file di testo locali devono essere in UTF-8. Se lo strumento segnala che i dati sono troppo complessi, riduci l'annidamento o il numero di voci. Dividi un input grande in documenti JSON completi più piccoli, senza tagliare a metà un oggetto o un array.
Perché i numeri lunghi cambiano in un'altra applicazione?
L'esempio separato sulla precisione riportato sotto contiene 9007199254740993 e 0.10000000000000001. Questo formattatore conserva esattamente il testo dei numeri con ogni scelta di indentazione e ordinamento. Formatta exact-numbers.json e confronta il risultato con exact-numbers-formatted.json in un editor di testo. Un'applicazione che importa il risultato può comunque arrotondare i numeri: verifica che supporti la precisione necessaria. Un codice con zeri iniziali, come 00123, deve essere una stringa tra virgolette in JSON.
La formattazione può ripristinare cifre già arrotondate?
La formattazione non può recuperare cifre arrotondate o rimosse prima che il testo arrivasse allo strumento. Torna alla fonte originale ed esporta nuovamente il valore completo. Se il valore è un identificatore anziché una quantità, usare una stringa può aiutare le applicazioni riceventi a conservarne le cifre.
Facoltativo: confrontare l'esempio e gli output di riferimento
Questi esempi di codice e file scaricabili sono stati prodotti da order-options.json con lo stesso formattatore della pagina dello strumento. I riferimenti formattato e compatto mantengono disattivato l'ordinamento delle chiavi; quello ordinato usa un'indentazione di due spazi con l'ordinamento attivo.
Esempio originale
{"order":"ORD-1042", "customer": {"name":"Zoë","city":"Bergen"}, "items":[{"sku":"CARD-02", "quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1, "price":5.00}], "paid":true, "deliveryNote":null}
Due spazi; ordine originale delle chiavi
{
"order": "ORD-1042",
"customer": {
"name": "Zoë",
"city": "Bergen"
},
"items": [
{
"sku": "CARD-02",
"quantity": 2,
"price": 19.50
},
{
"sku": "BOX-01",
"quantity": 1,
"price": 5.00
}
],
"paid": true,
"deliveryNote": null
}Minimizza; ordine originale delle chiavi
{"order":"ORD-1042","customer":{"name":"Zoë","city":"Bergen"},"items":[{"sku":"CARD-02","quantity":2,"price":19.50},{"sku":"BOX-01","quantity":1,"price":5.00}],"paid":true,"deliveryNote":null}Due spazi; chiavi degli oggetti ordinate
{
"customer": {
"city": "Bergen",
"name": "Zoë"
},
"deliveryNote": null,
"items": [
{
"price": 19.50,
"quantity": 2,
"sku": "CARD-02"
},
{
"price": 5.00,
"quantity": 1,
"sku": "BOX-01"
}
],
"order": "ORD-1042",
"paid": true
}| File di riferimento | Impostazioni | Byte |
|---|---|---|
| order-formatted.json | Due spazi; ordine originale delle chiavi | 300 |
| order-minified.json | Minimizza; ordine originale delle chiavi | 193 |
| order-sorted.json | Due spazi; chiavi degli oggetti ordinate | 300 |
Questi sono output di testo reali, non schermate dell'interfaccia. Il codice può andare a capo per adattarsi allo schermo. I nomi dei file di riferimento distinguono gli esempi; lo strumento scarica ogni versione come formatted.json.