Scegli lingua

Convertitore da JSON a TOML

Converti dati JSON in formato TOML con gestione di tabelle, array di tabelle, tabelle inline e valori datetime. Anteprima immediata e output pronto da copiare.

Mehmet Demiray Pubblicato Aggiornato
Condividi
Scrivi i numeri interi con il punto decimale

Cos'è la conversione da JSON a TOML

Convertire da JSON a TOML significa riscrivere gli stessi dati in un formato pensato per i file di configurazione leggibili dall'occhio umano. JSON nasce per lo scambio dati fra applicazioni e servizi, mentre TOML (Tom's Obvious, Minimal Language) privilegia la chiarezza dei file di setup.

La conversione serve quando un'API o un export restituisce JSON, ma lo strumento che lo deve leggere si aspetta TOML. È il caso tipico di un pyproject.toml per Python, di un Cargo.toml per un progetto Rust o della configurazione di Hugo.

Le differenze strutturali principali sono:

  • JSON usa parentesi graffe annidate, TOML usa tabelle con intestazioni come [server]
  • JSON racchiude sempre le chiavi tra virgolette, TOML spesso no
  • TOML supporta nativamente date e orari, JSON li tratta come semplici stringhe

Capire questa corrispondenza aiuta a prevedere il risultato. Per il percorso inverso puoi usare il convertitore da TOML a JSON, mentre per ripulire la sorgente prima della conversione torna utile il formattatore JSON.

Come funziona il convertitore

Il convertitore lavora in tre passaggi che restano del tutto trasparenti per chi lo usa.

  1. Analisi del JSON: l'input viene letto e validato. Se mancano virgolette, virgole o parentesi, l'errore viene segnalato subito con la posizione approssimativa.
  2. Mappatura verso TOML: ogni oggetto JSON diventa una tabella, ogni coppia chiave-valore una riga chiave = valore. Gli array di oggetti vengono resi come array di tabelle, mentre gli oggetti brevi possono diventare tabelle inline.
  3. Generazione dell'output: il risultato viene formattato in modo ordinato e pronto da copiare.

Alcuni casi limite meritano attenzione. Le chiavi con caratteri speciali vengono racchiuse tra virgolette, i valori null non hanno equivalente diretto in TOML e le date in formato ISO vengono riconosciute come datetime.

Un esempio rende tutto più chiaro:

JSON TOML
{"nome": "app"} nome = "app"
{"db": {"host": "local"}} [db]<br>host = "local"

Il risultato di circa 95 casi su 100 è immediatamente utilizzabile senza ritocchi manuali.

Casi d'uso pratici

La conversione da JSON a TOML risolve situazioni concrete del lavoro quotidiano di chi sviluppa o gestisce dati.

Trasformazione di risposte API: molti servizi espongono dati in JSON, ma per archiviarli o versionarli come configurazione TOML risulta più leggibile e adatto ai diff su Git.

Migrazione di file di configurazione: chi passa da un sistema basato su JSON a uno basato su TOML, come l'ecosistema Rust o Python, può riusare i dati esistenti senza riscriverli a mano.

Scambio di dati fra sistemi: quando un componente produce JSON e un altro consuma TOML, il convertitore fa da ponte ed evita errori di battitura.

Esempi frequenti:

  • Generare un pyproject.toml partendo da metadati JSON
  • Creare la configurazione di un sito Hugo
  • Preparare un Cargo.toml per un nuovo progetto Rust

Se lavori spesso con più formati, può interessarti anche il convertitore da JSON a YAML, utile quando la destinazione richiede YAML invece di TOML. La logica resta la stessa: partire da una sorgente JSON pulita e ottenere un output coerente.

Differenze chiave tra JSON e TOML

JSON e TOML descrivono dati strutturati, ma con filosofie diverse. Conoscere le differenze aiuta a leggere il risultato della conversione con consapevolezza.

Leggibilità: TOML è progettato per essere scritto e letto da persone, con sezioni esplicite e meno simboli di punteggiatura. JSON è più compatto e orientato alle macchine.

Struttura annidata: in JSON l'annidamento si esprime con graffe dentro graffe. In TOML si usano intestazioni di tabella con notazione a punti, ad esempio [strumenti.build], che mantiene il file piatto e ordinato.

Tipi di dato: entrambi gestiscono numeri, stringhe e booleani. TOML aggiunge però date e orari nativi, mentre JSON li rappresenta solo come stringhe.

Commenti: TOML li supporta con il simbolo #, JSON no.

Una sintesi rapida:

Aspetto JSON TOML
Commenti No Sì (#)
Date native No
Uso tipico Scambio dati Configurazione

Questa distinzione spiega perché TOML domina nei file di setup mentre JSON resta il re delle API.

Conversione senza perdita di dati

Una domanda ricorrente riguarda la fedeltà della conversione: i dati restano integri passando da JSON a TOML?

Nella maggior parte dei casi la conversione è affidabile e conserva valori, gerarchie e tipi. Numeri, stringhe, booleani e strutture annidate trovano un equivalente diretto in TOML.

Esistono però alcune eccezioni da tenere a mente:

  • Il valore null di JSON non ha corrispondenza in TOML, perché il formato non prevede l'assenza di valore. Le chiavi con valore nullo vengono in genere omesse.
  • Gli array che mescolano tipi diversi possono richiedere un adattamento, dato che TOML preferisce array omogenei.
  • Le chiavi vuote o duplicate vanno corrette prima della conversione.

Per ridurre i rischi conviene partire da una sorgente valida. Validare e riordinare il JSON con il formattatore JSON prima della conversione elimina gran parte degli errori.

Se poi devi tornare al formato di partenza, il convertitore da TOML a JSON ricostruisce la struttura originale, salvo i campi null già rimossi. Conoscere questi limiti permette di usare lo strumento con piena fiducia e di intervenire solo dove serve davvero.

Le più frequenti.

Come converto un file JSON in TOML?

Incolla i tuoi dati JSON nell'area di inserimento e lo strumento genera subito l'output TOML corrispondente. Puoi poi copiare il risultato e salvarlo in un file come Cargo.toml o pyproject.toml. Non serve installare nulla, tutto avviene direttamente nel browser.

Quali sono le differenze principali tra JSON e TOML?

JSON è compatto e orientato allo scambio dati tra applicazioni, mentre TOML privilegia la leggibilità nei file di configurazione. TOML usa tabelle con intestazioni come [server] al posto delle graffe annidate, supporta i commenti con # e gestisce date e orari in modo nativo. JSON resta invece lo standard per le risposte delle API.

Cosa succede con strutture annidate o caratteri speciali?

Gli oggetti annidati diventano tabelle con notazione a punti, ad esempio [database.connessione], mentre gli array di oggetti si trasformano in array di tabelle. Le chiavi che contengono caratteri speciali o spazi vengono racchiuse automaticamente tra virgolette, così l'output resta valido secondo le regole TOML.

La conversione è senza perdita di dati?

Nella quasi totalità dei casi sì: numeri, testo, booleani e gerarchie vengono conservati fedelmente. L'unica eccezione rilevante è il valore null, che TOML non prevede e che viene quindi omesso. Anche gli array con tipi misti possono richiedere un piccolo adattamento manuale.

Posso usare lo strumento per creare un pyproject.toml?

Sì. Se hai i metadati del progetto in JSON, basta convertirli e copiare l'output in un file pyproject.toml. Lo stesso vale per Cargo.toml di Rust o per la configurazione di Hugo. Controlla sempre il risultato finale per assicurarti che le sezioni rispecchino la struttura attesa dallo strumento di destinazione.

Come torno dal TOML al JSON?

Per il percorso inverso puoi usare il convertitore da TOML a JSON, che ricostruisce la struttura originale. Se invece ti serve YAML al posto di TOML, è disponibile anche il convertitore da JSON a YAML. In entrambi i casi conviene partire da una sorgente già validata.