FAQ di Formattatore e validatore JSON
Q: Che cos'è un formattatore JSON?
A: Che cos'è un formattatore JSON?
Un formattatore JSON è uno strumento che prende dati JSON grezzi, minificati o mal formattati e li riformatta con un'indentazione, delle interruzioni di riga e una spaziatura adeguate per renderli leggibili da un essere umano. La maggior parte dei formattatori JSON include anche validazione, evidenziazione della sintassi, rilevamento degli errori e talvolta funzionalità aggiuntive come l'ordinamento delle chiavi, la minificazione e la navigazione a vista ad albero. Il nostro formattatore JSON online gratuito combina formattazione e validazione in un unico strumento, offrendo un output pulito e immediato con segnalazioni di errore dettagliate.
Q: Perché il mio JSON non è valido?
A: Perché il mio JSON non è valido?
Il JSON non è valido quando viola le regole rigide della specifica JSON. Le cause più comuni includono:
- Virgole finali dopo l'ultimo elemento di un oggetto o di un array
- Virgolette doppie mancanti attorno alle chiavi degli oggetti o ai valori stringa
- Virgolette singole usate al posto delle virgolette doppie (le virgolette singole non sono valide in JSON)
- Caratteri speciali non escapati come backslash o virgolette non escapati all'interno delle stringhe
- Valori non validi come
undefined,NaNoInfinity(che non hanno un equivalente JSON) - Parentesi graffe o quadre non corrispondenti dove
{/}o[/]non sono accoppiate correttamente
Usa un validatore JSON per individuare la posizione esatta e la natura degli errori di sintassi. La maggior parte dei validatori segnala la riga, la colonna e un messaggio di errore descrittivo per il primo problema che incontra.
Q: Qual è la differenza tra JSON e oggetti JavaScript?
A: Qual è la differenza tra JSON e oggetti JavaScript?
Sebbene la sintassi JSON derivi dalla sintassi degli oggetti letterali di JavaScript, non sono la stessa cosa. Le differenze principali includono:
- Le chiavi devono essere racchiuse tra virgolette doppie -- JSON richiede
{"key": "value"}, mentre JavaScript consente{key: "value"}(senza virgolette) e{'key': 'value'}(con virgolette singole). - I valori stringa devono usare le virgolette doppie -- JSON consente solo virgolette doppie per le stringhe. JavaScript accetta sia virgolette singole che doppie.
- Niente virgole finali -- JSON vieta le virgole finali dopo l'ultimo elemento. JavaScript le consente.
- Tipi di dati limitati -- JSON supporta solo stringa, numero, booleano, null, oggetto e array. Gli oggetti JavaScript possono contenere funzioni,
undefined,Date,Map,Sete altri tipi speciali. - Niente commenti -- JSON non supporta i commenti. Gli oggetti JavaScript nel codice sorgente possono avere commenti.
Ciò significa che non puoi semplicemente scrivere un oggetto JavaScript e chiamarlo JSON -- deve essere serializzato con JSON.stringify() o scritto secondo le rigide regole JSON.
Q: Il JSON può avere commenti?
A: Il JSON può avere commenti?
No, la specifica JSON ufficiale (RFC 8259) non supporta i commenti. JSON è stato progettato come un formato di interscambio dati minimale e indipendente dal linguaggio, e i commenti sono stati esclusi intenzionalmente per mantenere i parser semplici e coerenti tra i vari linguaggi.
Se hai bisogno di commenti, hai alcune opzioni:
- JSONC (JSON with Comments) -- Usato da VS Code e altri strumenti per i file di configurazione. JSONC consente commenti di riga
//e commenti a blocco/* */. - YAML o TOML -- Formati di configurazione alternativi che supportano i commenti in modo nativo.
- Metadati basati su convenzioni -- Usa una chiave come
"_comment"o"//"nei tuoi oggetti JSON per archiviare note leggibili da un essere umano. Nota che questo aggiunge dati al tuo payload. - Rimuovi i commenti prima del parsing -- Usa una fase di preprocessamento per rimuovere i commenti prima di passare il JSON a un parser rigoroso.
Q: Come posso validare il JSON online?
Q: Come posso validare il JSON online?
A: Come posso validare il JSON online?
Validare il JSON online è semplice:
- Copia i tuoi dati JSON
- Incollali in uno strumento di validazione JSON
- Fai clic sul pulsante di validazione o formattazione
- Lo strumento segnalerà o un JSON valido o mostrerà un errore con la posizione esatta e la descrizione del problema
Un buon validatore JSON dovrebbe:
- Validare la sintassi secondo la specifica JSON ufficiale (RFC 8259)
- Mostrare il numero di riga e di colonna degli errori
- Fornire un messaggio di errore descrittivo che spieghi cosa è andato storto
- Opzionalmente formattare e abbellire il JSON allo stesso tempo
- Evidenziare la sintassi con codici colore per i diversi tipi di dati
Per dati grandi o sensibili, molti validatori online elaborano tutto lato client nel tuo browser, il che significa che i tuoi dati non lasciano mai la tua macchina.
Q: Cosa significa JSON minificato?
A: Cosa significa JSON minificato?
Il JSON minificato è JSON con tutti gli spazi bianchi non necessari rimossi -- spazi, tab, ritorni a capo e indentazione vengono eliminati. Il risultato è una singola riga (o pochissime righe) di testo compatto:
{"users":[{"id":1,"name":"Alice","roles":["admin"]}],"total":1}
Il JSON minificato è usato in produzione per diverse ragioni:
- Dimensioni del file ridotte -- Può ridurre la dimensione del payload del 30-50% o più
- Trasferimento di rete più veloce -- Meno dati da trasmettere significa minore latenza
- Costi di banda ridotti -- Particolarmente importante per API ad alto traffico e applicazioni mobili
Il compromesso è che il JSON minificato è essenzialmente illeggibile per gli esseri umani. Usa uno strumento di pretty print JSON per riformattare il JSON minificato in una struttura leggibile per il debug o l'ispezione.
Q: Come faccio il pretty print del JSON da riga di comando?
A: Come faccio il pretty print del JSON da riga di comando?
Diversi strumenti da riga di comando possono eseguire il pretty print del JSON:
Con jq (il più popolare, si installa separatamente):
cat file.json | jq .
Con Python (integrato nella maggior parte dei sistemi):
python -m json.tool file.json
Con Node.js:
node -e "const d = require('./data.json'); console.log(JSON.stringify(d, null, 2));"
Con curl (pretty print di una risposta API):
curl https://api.example.com/data | jq .
Lo strumento jq è consigliato per l'output colorato, le capacità di query e la gestione robusta degli errori.
Q: Cos'è JSON Schema?
A: Cos'è JSON Schema?
JSON Schema è un vocabolario che consente di annotare e validare documenti JSON. Definisce la struttura, i tipi di dati e i vincoli che un documento JSON deve soddisfare. Pensalo come un contratto o una specifica per i tuoi dati JSON.
Capacità principali di JSON Schema:
- Validazione dei tipi -- Specifica se un valore deve essere una stringa, un numero, un booleano, un array, un oggetto o null
- Campi obbligatori -- Contrassegna determinate proprietà come obbligatorie
- Vincoli sui valori -- Imposta valori minimi/massimi, pattern di stringa (regex) e valori consentiti (enum)
- Validazione degli array -- Controlla la lunghezza dell'array, i tipi di elementi e l'unicità
- Validazione annidata -- Definisci schemi per oggetti e array annidati
- Validazione condizionale -- Applica regole diverse in base ai valori di altri campi
Esempio di JSON Schema:
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"required": ["name", "email"],
"properties": {
"name": { "type": "string", "minLength": 1 },
"email": { "type": "string", "format": "email" },
"age": { "type": "integer", "minimum": 0, "maximum": 150 }
}
}
JSON Schema è comunemente usato per validare i body delle richieste API, i file di configurazione e i contratti di interscambio dati tra servizi.