DocumentiImmaginiMediaStrumenti PDF

Converti JSON in TOML Online

Converti dati JSON in TOML leggibile, gratis, direttamente nel tuo browser.

title = "My Project"
version = "1.0.0"
features = ["async", "json"]

[dependencies]
serde = "1.0"
tokio = "1.28"

[[authors]]
name = "John"
email = "john@example.com"
Processed in your browser

Da JSON a TOML: configurazioni più leggibili

Conversione istantanea

Incolla il JSON e ottieni subito il TOML. Nessun tool da installare, nessuna registrazione.

Compatibile con TOML 1.0

Il TOML generato è conforme alla specifica 1.0 e funziona con Cargo, Hugo, Rye e tutti i parser moderni.

Totalmente privato

I tuoi dati non lasciano mai il browser. Nessun server, nessun upload.

Struttura preservata

Oggetti annidati, array e tipi di dati vengono convertiti correttamente con tipizzazione TOML precisa.

Tre passaggi, senza complicazioni

1

Incolla il tuo JSON

Incolla il contenuto JSON nell'editor. Supporta oggetti JSON complessi con nesting, array e tutti i tipi di dati primitivi.

2

Conversione automatica

Il convertitore analizza la struttura JSON e genera TOML equivalente con tabelle, array di tabelle e valori tipizzati. Tutto avviene nel browser.

3

Copia o scarica il TOML

Ottieni il TOML risultante pronto per file di configurazione di applicazioni Rust, Go, Python o qualsiasi tool che accetti TOML.

Hai delle domande?

La maggior parte dei tipi JSON ha un equivalente diretto in TOML: stringhe, interi, float, booleani, array, e oggetti (tabelle in TOML). La differenza principale riguarda i valori null: JSON supporta null come valore esplicito, mentre TOML non ha un tipo null — la convenzione è omettere la chiave o usare una stringa vuota. Anche gli array eterogenei (array JSON con elementi di tipi diversi) non sono supportati in TOML 1.0, dove tutti gli elementi di un array devono essere dello stesso tipo.

Gli oggetti JSON annidati diventano tabelle TOML con la sintassi [sezione]. Un oggetto JSON come {database: {host: 'localhost', port: 5432}} diventa in TOML una sezione [database] con le chiavi host e port. Per oggetti profondamente annidati, TOML usa la notazione con punto (dotted keys) o tabelle annidate. Gli array di oggetti diventano array di tabelle con la sintassi [[sezione]].

TOML non ha un tipo null. Quando il convertitore incontra un valore null nel JSON, ha due opzioni: omettere la chiave completamente dal TOML (il comportamento predefinito) oppure convertirlo in una stringa vuota. Il convertitore sceglie il comportamento più sicuro (omissione) e mostra un avviso per ogni chiave null trovata, in modo che tu possa decidere come gestirla nel file TOML finale.

TOML e JSON servono scopi diversi. TOML è progettato specificamente per i file di configurazione leggibili dagli esseri umani: supporta commenti (JSON non li supporta), ha una sintassi più chiara per le sezioni e meno rumore sintattico (meno virgole e parentesi). JSON è superiore come formato di scambio dati tra API grazie alla sua universalità e al parsing rapido. TOML è il formato di configurazione predefinito per Cargo (Rust), Rye e uv (Python), e Hugo (Go). Il momento di convertire da JSON a TOML è quando il file di configurazione deve essere modificato manualmente da esseri umani.

Sì. Il convertitore genera TOML conforme alla specifica TOML 1.0 (rilasciata nel gennaio 2021). TOML 1.0 è supportato da tutti i parser TOML moderni: toml-rs (Rust), tomllib (Python 3.11+), go-toml (Go), e @iarna/toml (JavaScript). Se usi un parser più vecchio che supporta solo TOML 0.5, potrebbe esserci incompatibilità con alcune funzionalità come gli array di tabelle.

No. La conversione avviene interamente nel tuo browser. I tuoi dati JSON non vengono mai trasmessi a server esterni. Tutto il processamento è locale sul tuo dispositivo.

Converti JSON in TOML: gratis, online, compatibile con TOML 1.0

TOML (Tom's Obvious, Minimal Language) è un formato di file di configurazione progettato da Tom Preston-Werner (co-fondatore di GitHub) con l'obiettivo di essere leggibile dagli esseri umani, non ambiguo, e facilmente mappabile a una hash map. A differenza di JSON, TOML supporta i commenti, ha una sintassi meno verbosa per le sezioni di configurazione, e tipizza esplicitamente i valori (interi vs float, date, ore). È diventato il formato di configurazione preferito nell'ecosistema Rust (Cargo.toml è il file di configurazione di ogni progetto Rust), ed è usato anche da Hugo, Poetry, Rye, uv, e molti altri tool moderni.

La conversione da JSON a TOML è comune in diversi scenari: migrazione di configurazioni di applicazioni da formati JSON a TOML per migliorare la leggibilità e aggiungere supporto ai commenti, conversione di risposte API JSON in file di configurazione TOML per applicazioni Rust o Go, e trasformazione di file package.json o tsconfig.json in formati TOML per tool che li accettano. La mappatura non è sempre uno-a-uno: JSON supporta null e array eterogenei, che TOML non ha, richiedendo decisioni di conversione esplicite.

Dal punto di vista della specifica, TOML 1.0 (gennaio 2021) definisce i seguenti tipi di dato: stringhe (basic e literal), interi (con separatore underscore), float (con supporto per infinito e NaN), booleani, date e ore RFC 3339, array (tipizzati), e tabelle (inline e standard). Gli oggetti JSON annidati si mappano in tabelle TOML o chiavi punteggiate (dotted keys), mentre gli array di oggetti si mappano in array di tabelle con la sintassi [[doppia parentesi]]. Il parser di riferimento per TOML 1.0 in Python è tomllib (incluso nella standard library dalla versione 3.11), in Rust è toml-rs, e in Go è BurntSushi/toml.