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.
Opzioni · 2 spazi
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
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
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
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.
[1, 2, 3]
{ "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.
{ "name": "a", "nickname": null } { "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.
{ "ports": [8001, null, 8003] } { "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.
{ 'name': 'a', 'active': true, } { "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.
{ "ratio": 1.0 } → ratio = 1 { "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.
{ "server": { "a": 1 }, "server": [1] } { "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?
Che cos'è TOML e perché convertirci il JSON?
Perché il livello superiore del mio JSON deve essere un oggetto?
Cosa succede ai valori null quando si converte JSON in TOML?
Come vengono convertiti in TOML gli oggetti annidati e gli array?
Cosa succede ai numeri in virgola mobile come 1.0?
I miei dati JSON vengono inviati a qualche server?
Posso riconvertire TOML in JSON?
Come si converte JSON in TOML dalla riga di comando?
Come si converte JSON in TOML in Python, Rust o Node.js?
Il convertitore conserva l'ordine delle chiavi?
C'è un limite alla dimensione del file per l'input JSON?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
Convertitore da Base64 a immagine
Codifica e formattazione
Decodifica una stringa Base64 o un data URI in un'immagine nel tuo browser. Anteprima, dimensioni e MIME, poi scarica come PNG, JPG, GIF, SVG. Nessun upload.
Convertitore CSV in JSON
Codifica e formattazione
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
Convertitore da .env a JSON
Codifica e formattazione
Incolla un file .env online e ottieni subito il JSON. Password, chiavi API e token non lasciano mai il browser: parser dotenv web, 100% privato, senza upload.
Decodificatore di entità HTML gratuito — Unescape HTML
Codifica e formattazione
Decodifica le entità HTML e fai l'unescape dell'HTML online — gratis, senza registrazione, 100% nel browser. Riconverte riferimenti con nome, decimali ed esadecimali in caratteri; mai caricato.
Codificatore di entità HTML gratuito — Escape HTML
Codifica e formattazione
Codifica le entità HTML e fai l'escape dei caratteri speciali (< > & " ') online — gratis, senza registrazione, 100% nel browser. Output con nome, decimale o esadecimale; mai caricato.