DevToolPal
IT

Convertitore da JSON5 a JSON

Converte JSON5 o JSONC (commenti, virgole finali, chiavi senza virgolette, apici singoli) in JSON rigoroso e standard.

Eseguito in locale, mai caricato

Opzioni

Rientro

Input

0 caratteri · 0 B

Output

0 caratteri · 0 B

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

  1. Incolla il tuo JSON5 o JSONC, carica un file .json5, .jsonc o .json, oppure fai clic su Esempio.
  2. Scegli il Rientro: 2 o 4 spazi, oppure Compatto per una sola riga.
  3. Scegli cosa fare con Infinity e NaN: convertirli in null, convertirli in stringhe o mostrare un errore.
  4. 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 port e 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.