Skip to main content
CheckTown
Convertitori

Convertitore JSON5 in JSON: pulisci i file di configurazione

Pubblicato 5 min di lettura
In questo articolo

Cos'e JSON5?

JSON5 e un superset di JSON che aggiunge funzionalita ispirate alla sintassi ECMAScript 5.1. E stato creato per rendere JSON piu human-friendly per i file di configurazione e altri casi in cui le persone scrivono e leggono JSON manualmente. Ogni documento JSON valido e anche un JSON5 valido, ma JSON5 aggiunge commenti, virgole finali, chiavi senza virgolette e altre comodita.

La specifica JSON5 e stata finalizzata nel 2018 ed e ampiamente adottata negli strumenti JavaScript. Strumenti di build come Babel, Next.js e Webpack accettano file di configurazione JSON5. Convertire JSON5 in JSON standard e necessario quando si interagisce con sistemi che comprendono solo JSON stretto, come API, database e la maggior parte dei linguaggi di programmazione.

Funzionalita di JSON5 spiegate

JSON5 aggiunge diverse estensioni sintattiche che rendono i file di configurazione piu facili da scrivere e mantenere.

  • Commenti — sono consentiti commenti a riga singola (//) e multilinea (/* */), rendendo i file di configurazione autodocumentanti
  • Virgole finali — array e oggetti possono avere una virgola dopo l'ultimo elemento, riducendo il rumore nei diff
  • Chiavi senza virgolette — le chiavi degli oggetti che sono identificatori ECMAScript validi non necessitano di virgolette
  • Numeri esadecimali — i valori numerici possono essere scritti come 0xFF, utile per codici colore nella configurazione
  • Stringhe multilinea — i valori stringa possono estendersi su piu righe usando la continuazione con backslash
  • Valori numerici speciali — Infinity, -Infinity e NaN sono letterali numerici validi in JSON5

Prova gratuitamente — nessuna registrazione richiesta

Converti JSON5 in JSON →

Dove viene usato JSON5

JSON5 e utilizzato principalmente negli strumenti dell'ecosistema JavaScript dove i file di configurazione sono scritti e mantenuti dagli sviluppatori.

  • Babel — i file .babelrc e babel.config.json5 supportano la sintassi JSON5 per la configurazione di build con commenti
  • TypeScript — tsconfig.json supporta le funzionalita JSON5 come commenti e virgole finali (tecnicamente JSONC)
  • Chrome DevTools — i profili di limitazione della rete e altre impostazioni usano il formato JSON5
  • Next.js — i file di configurazione accettano JSON5 per una configurazione developer-friendly con documentazione inline

Domande frequenti

I browser possono analizzare JSON5 nativamente?

No. I browser supportano solo JSON standard tramite JSON.parse(). Per analizzare JSON5 in un browser o applicazione Node.js, serve il pacchetto npm json5. Gli strumenti di build che supportano JSON5 gestiscono l'analisi internamente durante il loro passaggio di build.

Qual e la differenza tra JSON5 e JSONC?

JSONC (JSON con commenti) aggiunge solo il supporto ai commenti a JSON. JSON5 e un superset piu ampio che aggiunge commenti, virgole finali, chiavi senza virgolette, numeri esadecimali, stringhe multilinea e valori numerici speciali. Il tsconfig.json di TypeScript e settings.json di VS Code usano JSONC, mentre Babel e altri strumenti usano JSON5 completo.

JSON5 e uguale a YAML?

No. JSON5 rimane vicino alla sintassi JSON con piccole aggiunte ergonomiche. YAML e un formato completamente diverso con struttura basata su spazi bianchi, ancore e molte altre funzionalita. JSON5 e piu facile da convertire in JSON perche e un superset stretto. La conversione da YAML a JSON puo comportare perdita di dati perche YAML supporta tipi di dati che JSON non ha.

Strumenti correlati