Cosa fa
JSON5 è un’estensione di JSON pensata per i file scritti a mano. Consente commenti, virgole finali, chiavi degli oggetti senza virgolette, stringhe tra apici singoli e alcuni formati numerici più comodi. Strumenti come Babel, alcuni bundler e molte applicazioni accettano JSON5 o JSONC (JSON con commenti, usato da tsconfig.json e dalle impostazioni di VS Code) come formato di configurazione.
Molti parser, API e linguaggi accettano però solo JSON rigoroso. Questo convertitore legge JSON5 o JSONC e produce JSON standard che qualsiasi parser accetta: tutte le chiavi tra virgolette doppie, niente commenti, niente virgole finali e numeri in forma decimale.
Come si usa
- Incolla il tuo JSON5 o JSONC, carica un file
.json5,.jsonco.json, oppure fai clic su Esempio. - Scegli il Rientro: 2 o 4 spazi, oppure Compatto per una sola riga.
- Scegli cosa fare con
InfinityeNaN: convertirli innull, convertirli in stringhe o mostrare un errore. - Copia o scarica il JSON.
Se l’input contiene un errore di sintassi, il messaggio mostra riga e colonna così puoi andarci subito. Anche il JSON normale è JSON5 valido, quindi puoi usare lo strumento per verificare che un file venga analizzato correttamente e per reindentarlo.
Esempio
Questa configurazione JSON5:
// Server settings
{
host: 'localhost',
port: 0x1F90, // 8080
ratio: .5,
tags: ['api', 'v2',],
}
diventa questo JSON rigoroso:
{
"host": "localhost",
"port": 8080,
"ratio": 0.5,
"tags": [
"api",
"v2"
]
}
I commenti vengono rimossi, chiavi e stringhe ricevono le virgolette doppie, il numero esadecimale e il decimale senza parte intera vengono scritti in forma decimale e le virgole finali spariscono.
Cosa viene convertito
- I commenti di riga
//e di blocco/* */vengono rimossi. - Le chiavi senza virgolette come
porte le stringhe tra apici singoli come'localhost'passano alle virgolette doppie. - Le stringhe proseguite con una barra rovesciata a fine riga vengono unite in una sola.
- Gli esadecimali (
0xFF), i punti decimali iniziali o finali (.5,5.) e i segni più espliciti (+3) diventano normali numeri decimali. - Le virgole finali in oggetti e array vengono eliminate.
- Se una chiave compare due volte, vince l’ultimo valore, come in JavaScript.
Domande frequenti
› Che differenza c’è tra JSON5 e JSONC?
JSONC è JSON con i commenti (e, in VS Code, le virgole finali). JSON5 va oltre: chiavi senza virgolette, stringhe tra apici singoli, stringhe su più righe, numeri esadecimali, punti decimali iniziali o finali, Infinity e NaN. JSON5 è un sovrainsieme di JSONC, quindi questo strumento li legge entrambi.
› I commenti vengono mantenuti?
No. Il JSON standard non ha una sintassi per i commenti, quindi vengono rimossi. Se ti servono, conserva il file JSON5 come sorgente e genera il JSON a partire da quello.
› Cosa succede a Infinity e NaN?
Il JSON rigoroso non può rappresentarli. Per impostazione predefinita diventano null, come con JSON.stringify di JavaScript. In alternativa puoi convertirli in stringhe o mostrare un errore che indica il percorso esatto.
› I miei dati vengono caricati online?
No. L’analisi e la conversione avvengono interamente nel browser, quindi i file di configurazione con segreti non lasciano mai il tuo dispositivo.