Skip to content

Convertitore da JSON a TOML

Converti JSON in TOML online e istantaneamente nel browser. Gestione sicura dei null, controllo della tabella di primo livello, output pronto per Cargo.toml.

Niente tracciamento Funziona nel browser Gratuito
0 caratteri
TOML Output
0 righe
Revisionato per conformità alla specifica TOML 1.0.0, applicazione della tabella di primo livello e gestione trasparente dei null — Go Tools Engineering Team · Jul 2, 2026

Che cos'è TOML e perché convertire da JSON?

TOML (Tom's Obvious, Minimal Language) è un formato di file di configurazione costruito per essere non ambiguo e facile da leggere e modificare per le persone. È il formato di configurazione standard per l'ecosistema Rust (Cargo.toml), per il packaging Python moderno (pyproject.toml) e per strumenti come Hugo, Netlify, Poetry e Foundry. JSON è il formato universale per le macchine che strumenti e API producono. Convertire JSON in TOML è comune quando hai dati strutturati in JSON ma ti serve come destinazione una configurazione TOML modificabile dalle persone — generando un Cargo.toml o un pyproject.toml, o trasformando le impostazioni JSON di un'applicazione in un file di configurazione leggibile.

TOML è più strutturato di JSON, e questo strumento trasforma quel rigore in una guida invece che in fallimenti criptici:

**1. Applicazione della tabella di primo livello.** Ogni documento TOML è una tabella alla radice — un array o uno scalare nudi non sono TOML valido. Invece di emettere un output rotto per un input { array di primo livello }, questo strumento lo rileva e ti dice esattamente come racchiudere i tuoi dati sotto una chiave, così ottieni sempre un TOML valido o una spiegazione chiara.

**2. Gestione dei null sicura e trasparente.** JSON ha null; TOML no. La maggior parte dei convertitori va in crash o scarta silenziosamente i dati. Questo strumento è esplicito: le chiavi di oggetto con valori null vengono eliminate e le chiavi rimosse sono elencate in un avviso, mentre un null all'interno di un array — che non ha rappresentazione TOML valida — produce un errore preciso che indica il percorso. Non sei mai sorpreso da dati mancanti.

**3. Output TOML idiomatico.** Gli oggetti annidati diventano [tabelle], gli oggetti profondamente annidati diventano tabelle con notazione a punti ([tool.ruff]) e gli array di oggetti diventano array di tabelle ([[section]]) — la forma che usano i file Cargo.toml e pyproject.toml reali. La conversione è alimentata dalla libreria smol-toml, a dipendenza zero e conforme a TOML 1.0.0.

**4. Privacy al 100% basata sul browser.** Il tuo JSON — che può contenere credenziali, token o dettagli di servizi interni — non lascia mai il tuo browser. Nessun caricamento, nessun server, nessuna registrazione. Confermalo nella scheda Rete del browser.

Hai bisogno del percorso inverso? Usa il Convertitore da TOML a JSON. Lavori con altri formati di configurazione? Prova il Convertitore da JSON a YAML e il Convertitore da YAML a JSON, oppure sistema prima il tuo input JSON con il Formattatore JSON. Ogni formato ha la sua nicchia: JSON per l'interscambio tra macchine, TOML per la configurazione di applicazioni e strumenti modificata dalle persone e YAML per manifest di infrastruttura profondamente annidati. Questo convertitore ti permette di passare da JSON a TOML senza scrivere alcun codice.

// Convert JSON to TOML in Node.js using the smol-toml library
import { stringify } from 'smol-toml';

const data = JSON.parse(`{
  "package": { "name": "my-app", "version": "1.0.0" },
  "dependencies": { "serde": { "version": "1.0" } }
}`);

// The top-level value must be an object; null values on objects are dropped.
const toml = stringify(data);

console.log(toml);
// [package]
// name = "my-app"
// version = "1.0.0"
//
// [dependencies.serde]
// version = "1.0"

Caratteristiche principali

Conversione in tempo reale

L'output TOML si aggiorna istantaneamente mentre digiti o incolli JSON — senza pulsante Converti. Gli input grandi (>200 KB) passano automaticamente alla modalità manuale per mantenere il browser reattivo.

Guida alla tabella di primo livello

I documenti TOML devono essere una tabella alla radice. Se il livello superiore del tuo JSON è un array o uno scalare, lo strumento ti dice esattamente come racchiuderlo sotto una chiave — nessun output rotto, nessuna congettura.

Gestione sicura dei null

TOML non ha null. Le chiavi di oggetto con valori null vengono eliminate ed elencate in un avviso; un null all'interno di un array genera un errore preciso che indica il percorso. Sai sempre cosa è successo ai tuoi dati.

Output TOML idiomatico

Gli oggetti annidati diventano [tabelle], gli oggetti profondamente annidati diventano tabelle con notazione a punti ([tool.ruff]) e gli array di oggetti diventano array di tabelle ([[section]]) — la forma che usano i file Cargo.toml e pyproject.toml reali.

Consapevolezza di float e interi

TOML separa gli interi dai float, quindi un float come 1.0 viene scritto come l'intero 1. Lo strumento ti avvisa quando questa coercizione cambia il tipo di un valore, così le sorprese nelle conversioni di andata e ritorno sono visibili.

Privacy al 100% basata sul browser

Tutta l'analisi viene eseguita localmente nel tuo browser. Il tuo JSON — incluse credenziali, token e dettagli di servizi interni — non viene mai caricato, memorizzato o registrato.

Esempi

Origine Cargo.toml

{
  "package": {
    "name": "my-app",
    "version": "1.0.0",
    "edition": "2021"
  },
  "dependencies": {
    "serde": { "version": "1.0", "features": ["derive"] },
    "tokio": { "version": "1", "features": ["full"] }
  }
}

Genera un Cargo.toml di Rust da JSON — gli oggetti annidati diventano [tabelle] e gli oggetti inline diventano tabelle inline, esattamente come Cargo si aspetta.

Origine pyproject.toml

{
  "build-system": {
    "requires": ["hatchling"],
    "build-backend": "hatchling.build"
  },
  "project": {
    "name": "my-package",
    "version": "0.3.1",
    "requires-python": ">=3.10",
    "dependencies": ["requests>=2.31", "pydantic>=2.0"]
  }
}

Genera un pyproject.toml conforme a PEP 621 dai metadati di progetto in JSON — utile quando uno strumento o un'API produce JSON che ti serve in forma TOML.

Impostazioni dell'app

{
  "title": "My Service",
  "debug": false,
  "port": 8080,
  "database": {
    "host": "localhost",
    "port": 5432,
    "pool_size": 10
  },
  "features": ["auth", "metrics", "tracing"]
}

Converti un oggetto piatto di impostazioni dell'applicazione in TOML — gli scalari di primo livello restano in cima e l'oggetto database annidato diventa una tabella [database].

Server (array di tabelle)

{
  "servers": [
    { "name": "alpha", "ip": "10.0.0.1", "ports": [8001, 8002] },
    { "name": "beta", "ip": "10.0.0.2", "ports": [9001] }
  ]
}

Un array di oggetti diventa un array di tabelle ([[servers]]) in TOML — il modo idiomatico di esprimere sezioni ripetute.

Origine configurazione Netlify

{
  "build": {
    "command": "npm run build",
    "publish": "dist",
    "environment": { "NODE_VERSION": "20" }
  },
  "redirects": [
    { "from": "/old", "to": "/new", "status": 301, "force": true }
  ]
}

Trasforma una configurazione di deploy in JSON in netlify.toml, con tabelle annidate [build] e [build.environment] e un array di tabelle [[redirects]].

Configurazione con struttura a punti

{
  "tool": {
    "ruff": { "line-length": 100, "target-version": "py310" },
    "black": { "line-length": 100 }
  }
}

Gli oggetti JSON profondamente annidati diventano tabelle TOML con notazione a punti come [tool.ruff] e [tool.black] — la forma che gli strumenti pyproject.toml si aspettano.

Come si usa

  1. 1

    Incolla il tuo JSON

    Inserisci o incolla il tuo JSON nel campo di input qui sopra. Puoi anche fare clic su 'Carica esempio' per provare un'origine Cargo.toml, un'origine pyproject.toml o un oggetto di impostazioni dell'app.

  2. 2

    Guarda l'output TOML in tempo reale

    Il TOML compare istantaneamente nel pannello di output. Se il tuo JSON ha un array di primo livello o valori null, lo strumento spiega esattamente cosa fare invece di produrre un output rotto.

  3. 3

    Copia o scarica

    Fai clic su Copia per copiare il TOML negli appunti o su Scarica per salvarlo come file .toml pronto per Cargo, Poetry, Hugo, Netlify o qualsiasi strumento che legge TOML.

Errori comuni nella conversione da JSON a TOML

Array o scalare di primo livello

I documenti TOML devono essere una tabella (oggetto) alla radice. Un array JSON o un valore isolato non può essere un documento TOML. Racchiudilo sotto una chiave per convertirlo.

✗ Errato
[1, 2, 3]
✓ Corretto
{ "items": [1, 2, 3] }

Valori null negli oggetti

TOML non ha un tipo null, quindi una chiave di oggetto con valore null viene eliminata durante la conversione. Lo strumento ti avvisa quali chiavi sono state rimosse. Se devi conservare la chiave, assegnale un valore reale o una stringa vuota.

✗ Errato
{ "name": "a", "nickname": null }
✓ Corretto
{ "name": "a", "nickname": "" }

Null all'interno di un array

Un array TOML non può contenere un null o un vuoto, quindi un JSON come [1, null, 3] non ha un output TOML valido. Rimuovi il null o sostituiscilo con un valore reale prima di convertire.

✗ Errato
{ "ports": [8001, null, 8003] }
✓ Corretto
{ "ports": [8001, 8003] }

Sintassi JSON non valida

L'input deve essere prima JSON valido. Virgole finali, virgolette singole e chiavi senza virgolette sono errori comuni copiati da JavaScript che non sono JSON valido e devono essere corretti prima di convertire.

✗ Errato
{ 'name': 'a', 'active': true, }
✓ Corretto
{ "name": "a", "active": true }

Un float con frazione zero diventa un intero

TOML scrive un float la cui parte frazionaria è zero (1.0) come l'intero 1, cambiandone il tipo in una conversione di andata e ritorno. Lo strumento ti avvisa. Se il valore è concettualmente un intero, va bene; se deve restare un float, TOML non può conservarlo per i numeri interi.

✗ Errato
{ "ratio": 1.0 }  →  ratio = 1
✓ Corretto
{ "ratio": 1.5 }  →  ratio = 1.5

Mescolare oggetto e array sulla stessa chiave

Una chiave JSON deve essere coerentemente un oggetto o un array per mappare su una tabella o un array di tabelle. Forme incoerenti in un dataset possono produrre TOML confuso — normalizza prima la struttura.

✗ Errato
{ "server": { "a": 1 }, "server": [1] }
✓ Corretto
{ "server": { "a": 1 }, "servers": [1] }

Casi d'uso comuni

Genera Cargo.toml
Trasforma un JSON strutturato — da uno strumento di scaffolding, un'API o uno script — in un Cargo.toml di Rust valido, con tabelle [dependencies] annidate e tabelle inline prodotte automaticamente.
Genera pyproject.toml
Converti i metadati di progetto in JSON in un pyproject.toml conforme a PEP 621, incluse le tabelle con notazione a punti [tool.*], così gli strumenti che emettono JSON possono produrre la configurazione di packaging Python.
Configurazione modificabile dalle persone a partire da JSON
Trasforma le impostazioni JSON di un'applicazione in un file di configurazione TOML leggibile che le persone possono modificare comodamente, con i commenti aggiunti in seguito a mano.
Generazione della configurazione di deploy
Produci netlify.toml, foundry.toml o configurazioni di piattaforma simili da JSON, trasformando oggetti annidati e array di oggetti nelle tabelle e negli array di tabelle che quegli strumenti si aspettano.
Migrazione del formato di configurazione
Sposta la configurazione da un sistema basato su JSON a uno basato su TOML, usando questo convertitore come ponte e gli avvisi sui null e sul livello superiore per intercettare tutto ciò che non si mappa.
Prototipazione della struttura TOML
Abbozza una configurazione come JSON — un formato che la maggior parte degli sviluppatori scrive con scioltezza — poi convertila in TOML per vedere la disposizione idiomatica delle tabelle e degli array di tabelle prima di inserirla in un repository.

Dettagli tecnici

Analisi JSON RFC 8259
L'input JSON viene analizzato con il JSON.parse() nativo del browser, pienamente conforme a RFC 8259. Prima della serializzazione, lo strumento verifica che il valore di primo livello sia un oggetto ed esamina i valori null in modo da poter avvisare sulle chiavi di oggetto eliminate o rifiutare un null all'interno di un array con un percorso preciso.
Output TOML 1.0.0 tramite smol-toml
Il TOML viene generato con la libreria smol-toml, un serializzatore a dipendenza zero pienamente conforme a TOML 1.0.0. Gli oggetti annidati diventano tabelle, gli oggetti profondamente annidati diventano tabelle con notazione a punti e gli array di oggetti diventano array di tabelle. I float con parte frazionaria zero vengono scritti come interi secondo le regole di TOML, con un avviso.
100% basato sul browser — nessun caricamento, nessun server
Tutta l'elaborazione avviene nel motore JavaScript del tuo browser. Nessun dato viene trasmesso in alcun momento. Gli input più grandi di 200 KB passano dalla modalità live a quella manuale (un clic esplicito su Converti) per mantenere l'interfaccia reattiva.

Buone pratiche

Racchiudi gli array di primo livello sotto una chiave
Se i tuoi dati sono naturalmente un array JSON, racchiudili in un oggetto con una chiave descrittiva ({ "items": [...] }) prima di convertire. I documenti TOML devono essere una tabella alla radice e la chiave dà al tuo array un nome chiaro nell'output.
Decidi cosa devono significare i null
Prima di convertire, decidi se un campo null debba scomparire (eliminando la chiave) o portare un valore. TOML eliminerà i null degli oggetti e rifiuterà i null negli array, quindi risolverli prima nel tuo JSON dà un output prevedibile e completo.
Usa oggetti annidati per raggruppare
Raggruppa le impostazioni correlate in oggetti annidati nel tuo JSON — diventano [tabelle] pulite e tabelle con notazione a punti in TOML, molto più leggibili di un elenco piatto di chiavi, in linea con come sono organizzate le configurazioni Cargo e pyproject.
Valida prima il tuo JSON
Se il tuo JSON è scritto a mano o proviene da una fonte inaffidabile, validalo con il nostro Formattatore JSON per intercettare virgole finali ed errori di virgolettatura prima di convertirlo in TOML.
Aggiungi i commenti dopo la conversione
JSON non ha commenti, quindi nessuno viene riportato. Poiché TOML supporta i commenti #, aggiungi a mano la documentazione al TOML generato — uno dei motivi principali per spostare in TOML la configurazione modificata dalle persone.

Domande frequenti

Come si converte JSON in TOML online?
Incolla il tuo JSON nel campo di input qui sopra. Lo strumento lo analizza e produce TOML istantaneamente nel browser — senza premere alcun pulsante. Quando il TOML compare nell'area di output, fai clic su Copia per copiarlo negli appunti o su Scarica per salvarlo come file .toml. Tutto viene eseguito localmente, quindi il tuo JSON non lascia mai il tuo dispositivo. Due cose da sapere prima di iniziare: il livello superiore del tuo JSON deve essere un oggetto (non un array) e i valori null non hanno equivalente in TOML — lo strumento spiega chiaramente entrambe le cose se si presentano.
Che cos'è TOML e perché convertirci il JSON?
TOML (Tom's Obvious, Minimal Language) è un formato di configurazione progettato per essere facile da leggere e scrivere per le persone, con una semantica non ambigua. È il formato di configurazione di Cargo di Rust, del pyproject.toml di Python, di Hugo, Netlify, Poetry e altri. Converti JSON in TOML quando uno strumento o un'API ti fornisce JSON ma la destinazione si aspetta TOML — per esempio generando un Cargo.toml o un pyproject.toml da dati strutturati, o trasformando le impostazioni JSON di un'applicazione in un file di configurazione TOML modificabile dalle persone.
Perché il livello superiore del mio JSON deve essere un oggetto?
I documenti TOML sono sempre una tabella (un insieme di coppie chiave-valore) alla radice — la specifica non consente un array, una stringa o un numero nudi al livello superiore. Quindi un array JSON come [1, 2, 3] o un valore isolato come 42 non possono essere convertiti direttamente. La soluzione è racchiuderli sotto una chiave: { "items": [1, 2, 3] } si converte in modo pulito in items = [1, 2, 3]. Questo strumento rileva un livello superiore non-oggetto e ti dice esattamente come racchiuderlo, invece di produrre un output rotto.
Cosa succede ai valori null quando si converte JSON in TOML?
TOML non ha un tipo null, quindi null non può essere rappresentato. Questo strumento lo gestisce in modo sicuro e trasparente in due modi. Quando un null compare come valore di un oggetto, TOML semplicemente omette quella chiave — e lo strumento mostra un avviso che elenca esattamente quali chiavi sono state rimosse, così non sei mai sorpreso da una perdita di dati silenziosa. Quando un null compare all'interno di un array, non esiste alcun output TOML valido (un array non può contenere un vuoto), quindi lo strumento segnala un errore che indica il percorso esatto del null incriminato. In entrambi i casi, sai con precisione cosa è successo e dove.
Come vengono convertiti in TOML gli oggetti annidati e gli array?
Un oggetto JSON annidato diventa una tabella TOML: { "owner": { "name": "Tom" } } diventa [owner] con name = "Tom". Gli oggetti profondamente annidati diventano tabelle con notazione a punti come [tool.ruff]. Un array di oggetti diventa un array di tabelle scritto con doppie parentesi ([[servers]]), che è il modo idiomatico di TOML per esprimere sezioni ripetute. Gli array di scalari restano inline come array (ports = [8001, 8002]). L'output segue la specifica TOML 1.0.0.
Cosa succede ai numeri in virgola mobile come 1.0?
TOML distingue gli interi dai float e un float la cui parte frazionaria è zero (come 1.0) viene scritto come l'intero 1. Quindi { "version": 1.0 } diventa version = 1. Lo strumento mostra un piccolo avviso quando avviene questa coercizione, perché cambia il tipo del valore in una conversione di andata e ritorno. Se hai bisogno che il valore resti un float, questa distinzione non può essere conservata attraverso TOML per i numeri interi — valuta se un intero è davvero ciò che vuoi.
I miei dati JSON vengono inviati a qualche server?
No. Tutta l'analisi e la conversione avvengono interamente nel tuo browser tramite JavaScript. Il tuo JSON non viene mai caricato, mai memorizzato e mai registrato. Questo rende lo strumento sicuro per configurazioni che contengono chiavi API, credenziali di database o dettagli di servizi interni. Puoi verificarlo aprendo la scheda Rete del browser — incollare JSON non genera alcuna richiesta di rete.
Posso riconvertire TOML in JSON?
Sì. Usa il Convertitore da TOML a JSON complementare per la direzione inversa, oppure fai clic sul pulsante Inverti direzione in cima allo strumento per scambiare input e output sul posto. La conversione da TOML a JSON ha meno vincoli — accetta qualsiasi TOML valido — quindi la conversione di andata e ritorno JSON → TOML → JSON è affidabile purché il tuo JSON non avesse null o un array di primo livello all'inizio.
Come si converte JSON in TOML dalla riga di comando?
Un'opzione popolare è lo strumento Go 'yj' (yj -jt legge JSON e scrive TOML). In Python puoi usare il pacchetto di terze parti 'tomli-w': import json, tomli_w; tomli_w.dump(json.load(open('config.json')), open('config.toml','wb')). In Node.js: import { stringify } from 'smol-toml'; const toml = stringify(JSON.parse(text)) — la stessa libreria usata da questo strumento. Per un'operazione rapida senza installare nulla, questo strumento nel browser è la via più veloce.
Come si converte JSON in TOML in Python, Rust o Node.js?
In Python: import json, tomli_w; tomli_w.dump(json.load(open('config.json')), open('config.toml','wb')). In Rust: usa serde_json e toml — let value: serde_json::Value = serde_json::from_str(&text)?; let toml = toml::to_string_pretty(&value)?. In Node.js: import { stringify } from 'smol-toml'; const toml = stringify(JSON.parse(text)) — è esattamente l'approccio usato da questo strumento. Ricorda che il valore di primo livello deve essere un oggetto in tutti questi casi.
Il convertitore conserva l'ordine delle chiavi?
Le chiavi all'interno di una tabella vengono conservate nel loro ordine originale, ma la struttura di TOML richiede che tutte le coppie chiave-valore semplici di una tabella vengano prima di qualsiasi intestazione di tabella figlia. Quindi gli scalari di primo livello vengono emessi per primi, poi le tabelle e gli array di tabelle — il convertitore riordina solo dove la grammatica di TOML lo impone. I dati sono identici; cambia solo l'ordinamento testuale delle sezioni di tabella per produrre un TOML valido.
C'è un limite alla dimensione del file per l'input JSON?
Non c'è un limite rigido, ma gli input oltre i 200 KB passano dalla conversione live alla modalità manuale: compare un pulsante Converti e la conversione avviene solo quando fai clic, mantenendo il browser reattivo. I payload di configurazione tipici si convertono in ben meno di 50 millisecondi.

Strumenti correlati

Vedi tutti gli strumenti →