Vai al contenuto

Convertitore da TOML a JSON

Converti un documento di configurazione TOML in JSON, direttamente nel tuo browser.

Ingresso

Convertitore da TOML a JSON

Incolla un file di configurazione TOML e ottieni un oggetto JSON pulito e strutturato: il formato previsto dalla maggior parte degli script, delle API e degli strumenti di creazione. TOML è l'impostazione predefinita per Cargo.toml di Rust, pyproject.toml di Python, Hugo e innumerevoli configurazioni di app proprio perché è facile da leggere e scrivere per gli esseri umani, ma nel momento in cui la configurazione deve raggiungere JavaScript, un passaggio CI o una chiamata REST, JSON è ciò che vuole il resto della toolchain. Questo convertitore colma questa lacuna senza installare un parser o scrivere uno script.

Il parser copre le parti di TOML 1.0 che incontrerai effettivamente in una configurazione reale: chiavi semplici e tra virgolette, chiavi puntate come server.host che creano oggetti nidificati, stringhe di base con escape e la loro forma multilinea con virgolette triple, stringhe letterali per percorsi di cui non è necessario eseguire l'escape, numeri interi in formato decimale, hex, ottali o binari con separatori di sottolineatura, numeri in virgola mobile inclusi esponenti e inf/nan, booleani, offset e data/ora locale, array che si estendono su più righe con virgole finali, tabelle in linea e intestazioni sia [tabella] che [[array di tabelle]] per blocchi ripetuti come un elenco di server o dipendenze. I commenti che iniziano con # vengono eliminati, esattamente come li definisce TOML.

Scegli come rientrare il JSON (due spazi, quattro spazi, tabulazioni o una singola riga ridotta da incollare altrove) e facoltativamente ordina le chiavi di ogni oggetto in ordine alfabetico, il che rende molto più semplice la differenza tra due versioni di una configurazione generata. Se il TOML ha un problema di sintassi, lo strumento nomina la riga esatta e cosa c'è che non va (una stringa non chiusa, un segno di uguale mancante, una chiave duplicata) invece di fallire silenziosamente.

Tutto viene eseguito localmente nel tuo browser. Niente di ciò che incolli viene caricato da nessuna parte, il che è importante quando la configurazione contiene host di database, endpoint API o altri dettagli che preferiresti non inviare a un server solo per riformattare un file.

FAQ

Quali parti di TOML supporta?
Il pratico sottoinsieme 1.0: chiavi (nude, tra virgolette, puntate), stringhe di base e letterali inclusi moduli su più righe, numeri interi in formato decimale/hex/ottale/binario, numeri in virgola mobile con esponenti e inf/nan, booleani, data-ora e date, matrici, tabelle in linea, intestazioni [tabella] e [[matrice di tabelle]] e commenti #.
Cosa succede alle date e alle date-ora?
TOML ha tipi di data e ora reali che JSON non ha, quindi vengono mantenuti esattamente come scritti, come stringhe JSON come "1979-05-27T07:32:00Z", anziché essere indovinati in qualcos'altro.
Come vengono convertiti i blocchi [[array of tables]]?
Ogni intestazione [[nome]] aggiunge un nuovo oggetto a un array sotto quella chiave, quindi i blocchi ripetuti - un elenco di dipendenze, server o frutti - diventano un array JSON di oggetti nell'ordine in cui appaiono.
Cosa fa quando il TOML ha un errore?
Riporta il numero di riga e un breve motivo (una stringa non chiusa, un '=' mancante, una chiave definita due volte) invece di restituire un risultato vuoto o parzialmente convertito.
Il mio file di configurazione è caricato da qualche parte?
No. La conversione viene eseguita interamente nel tuo browser e il TOML che incolli non lascia mai il tuo dispositivo: sicuro per le configurazioni che contengono credenziali o nomi host interni.