Convertitore da TOML a JSON
Incolla il TOML e ottieni JSON istantaneamente nel browser online. Cargo.toml, pyproject.toml e config.toml pronti, date e tabelle annidate gestite bene.
Opzioni · 2 spazi
Che cos'è TOML e perché convertirlo in JSON?
TOML (Tom's Obvious, Minimal Language) è un formato di file di configurazione creato da Tom Preston-Werner per essere non ambiguo, facile da leggere per le persone e mappabile in modo banale su una hash table. È diventato il formato di configurazione predefinito per l'ecosistema Rust (Cargo.toml), per il packaging Python moderno (pyproject.toml, standardizzato in PEP 518 e PEP 621) e per strumenti come Hugo, Netlify, Poetry e Foundry. JSON, al contrario, è il formato universale di interscambio tra macchine — ogni linguaggio lo analizza, ogni API lo parla. Convertire TOML in JSON è quindi un'operazione comune: scrivi la configurazione in un TOML leggibile, poi la converti in JSON per passarla a un programma, ispezionarla con strumenti JSON o confrontarla in una pipeline.
Questo strumento ha diversi elementi distintivi che contano per la correttezza:
**1. Fedeltà delle date-ora.** TOML ha tipi di data e ora di prima classe — offset date-time, local date-time, data locale e ora locale — che JSON non possiede affatto. I convertitori ingenui li appiattiscono tutti in timestamp ISO, così una data locale come 1979-05-27 diventa 1979-05-27T00:00:00Z, inventando silenziosamente un'ora e un fuso orario. Questo strumento conserva l'esatto tipo di TOML: le date locali restano date di calendario, le ore locali restano ore e solo gli offset date-time portano un fuso orario. Questo mantiene i tuoi dati onesti e le conversioni di andata e ritorno senza perdita.
**2. Supporto completo di TOML 1.0.0.** Tabelle annidate, chiavi con notazione a punti, tabelle inline e array di tabelle ([[section]]) sono tutti analizzati correttamente secondo la specifica TOML 1.0.0 usando la libreria smol-toml a dipendenza zero. I file Cargo.toml e pyproject.toml reali con tabelle inline e standard miste si convertono esattamente come richiede la specifica.
**3. Gestione onesta dei grandi interi.** Gli interi TOML sono a 64 bit, ma il JavaScript del browser può contenere esattamente solo interi fino a 2^53 - 1. Invece di corrompere silenziosamente un valore grande o di andare in crash, questo strumento converte al numero JSON più vicino e ti avvisa, così puoi scegliere di memorizzare il valore come stringa. Questa onestà su una limitazione fondamentale del browser è qualcosa che la maggior parte dei convertitori sorvola.
**4. Privacy al 100% basata sul browser.** Il tuo TOML — che può contenere token di registry, sorgenti di pacchetti interni o segreti di deploy — non lascia mai il tuo browser. Nessun caricamento, nessun server, nessuna registrazione. Puoi confermarlo nella scheda Rete del browser.
Hai bisogno del percorso inverso? Usa il Convertitore da JSON a TOML. Devi convertire tra altri formati di configurazione? Prova il Convertitore da JSON a YAML e il Convertitore da YAML a JSON, oppure valida e abbellisci prima il tuo output JSON con il Formattatore JSON. TOML, JSON e YAML hanno ciascuno il proprio posto: TOML per la configurazione di applicazioni modificata dalle persone, JSON per l'interscambio tra macchine e YAML per manifest di infrastruttura profondamente annidati. Questo convertitore ti permette di spostarti tra i primi due senza scrivere una sola riga di codice.
// Convert TOML to JSON in Node.js using the smol-toml library
import { parse } from 'smol-toml';
const toml = `
[package]
name = "my-app"
version = "1.0.0"
[dependencies]
serde = { version = "1.0", features = ["derive"] }
`;
const data = parse(toml);
const json = JSON.stringify(data, null, 2);
console.log(json);
// {
// "package": { "name": "my-app", "version": "1.0.0" },
// "dependencies": {
// "serde": { "version": "1.0", "features": ["derive"] }
// }
// } Caratteristiche principali
Conversione in tempo reale
L'output JSON si aggiorna istantaneamente mentre digiti o incolli TOML — senza pulsante Converti. Gli input grandi (>200 KB) passano automaticamente alla modalità manuale per mantenere il browser reattivo.
Fedeltà delle date-ora
Gli offset date-time, i local date-time, le date locali e le ore locali di TOML vengono convertiti in stringhe JSON che conservano il tipo originale — nessun timestamp di mezzanotte inventato, così le conversioni di andata e ritorno restano senza perdita.
Supporto completo di TOML 1.0.0
Tabelle annidate, chiavi con notazione a punti, tabelle inline e array di tabelle ([[section]]) sono tutti analizzati correttamente tramite il motore smol-toml a dipendenza zero, in linea con la specifica TOML 1.0.0.
Pronto per Cargo.toml e pyproject.toml
Ottimizzato per i file TOML più comuni nel mondo reale — manifest Rust e configurazioni di packaging Python — incluse tabelle inline e array di tabelle. Carica un esempio per vedere l'esatta struttura JSON.
Avvisi onesti sui grandi interi
Gli interi oltre l'intervallo sicuro di JavaScript (2^53) non possono essere rappresentati esattamente in JSON — lo strumento li converte al numero più vicino e ti avvisa, invece di corrompere silenziosamente il valore.
Privacy al 100% basata sul browser
Tutta l'analisi viene eseguita localmente nel tuo browser. Il tuo TOML — inclusi token di registry, sorgenti di pacchetti private e segreti di deploy — non viene mai caricato, memorizzato o registrato.
Esempi
Cargo.toml (Rust)
[package]
name = "my-app"
version = "1.0.0"
edition = "2021"
authors = ["Jane Doe <jane@example.com>"]
[dependencies]
serde = { version = "1.0", features = ["derive"] }
tokio = { version = "1", features = ["full"] }
[dev-dependencies]
criterion = "0.5"
[[bin]]
name = "my-app"
path = "src/main.rs" Converti un manifest Cargo.toml di Rust in JSON — utile per strumenti, dashboard delle dipendenze o per passare i metadati di cargo a script che si aspettano JSON.
pyproject.toml (Python)
[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" ] [project.optional-dependencies] dev = ["pytest>=8.0", "ruff>=0.4"] [tool.ruff] line-length = 100
Converti un pyproject.toml conforme a PEP 621 in JSON per ispezionare metadati del progetto, dipendenze e configurazione degli strumenti in modo programmatico.
netlify.toml
[build] command = "npm run build" publish = "dist" [build.environment] NODE_VERSION = "20" [[redirects]] from = "/old-path" to = "/new-path" status = 301 force = true [[headers]] for = "/*" [headers.values] X-Frame-Options = "DENY"
Converti una configurazione di build di Netlify in JSON per verificare redirect e header o generare la configurazione equivalente per un'altra piattaforma.
Hugo config.toml
baseURL = "https://example.org" languageCode = "en-us" title = "My Hugo Site" theme = "ananke" [params] description = "A static site built with Hugo" mainSections = ["posts", "docs"] [[menu.main]] name = "Blog" url = "/posts/" weight = 1 [[menu.main]] name = "About" url = "/about/" weight = 2
Converti il config.toml di un sito Hugo in JSON per migrare le impostazioni, confrontare la configurazione o alimentare un'interfaccia di configurazione.
rustfmt.toml
edition = "2021" max_width = 100 hard_tabs = false tab_spaces = 4 newline_style = "Unix" use_small_heuristics = "Default" reorder_imports = true reorder_modules = true
Converti un rustfmt.toml piatto in JSON — un buon esempio di come le coppie chiave-valore di primo livello (senza tabelle) si mappano direttamente su un oggetto JSON.
Config di app con date e array di tabelle
title = "Deployment Log" last_deployed = 1979-05-27T07:32:00Z release_date = 1979-05-27 maintenance_window = 02:00:00 [[servers]] name = "alpha" ip = "10.0.0.1" ports = [8001, 8002] [[servers]] name = "beta" ip = "10.0.0.2" ports = [9001]
Mostra come le date-ora native di TOML (offset date-time, data locale, ora locale) e gli array di tabelle si convertono in modo pulito in stringhe e array JSON.
Come si usa
- 1
Incolla il tuo TOML
Inserisci o incolla il tuo TOML nel campo di input qui sopra. Puoi anche fare clic su 'Carica esempio' per provare un vero Cargo.toml, pyproject.toml o una configurazione di deploy.
- 2
Guarda l'output JSON in tempo reale
Il JSON compare istantaneamente nel pannello di output. Regola l'opzione Rientro (2 o 4 spazi) per adattarla al formato di destinazione. Date, tabelle e array di tabelle vengono gestiti automaticamente.
- 3
Copia o scarica
Fai clic su Copia per copiare il JSON negli appunti o su Scarica per salvarlo come file .json pronto per il tuo programma, la tua API o i tuoi strumenti.
Errori comuni con TOML
Valori stringa senza virgolette
In TOML, i valori stringa devono essere tra virgolette. Una parola nuda a destra del segno di uguale è valida solo per booleani (true/false), numeri, date o come parte di un array. Racchiudi le stringhe tra virgolette doppie o singole.
name = my-app
name = "my-app"
Chiavi duplicate
TOML vieta di definire la stessa chiave due volte all'interno della stessa tabella e vieta di ridefinire una tabella già definita. È un errore comune quando si uniscono frammenti di configurazione. Ogni chiave e tabella deve essere univoca.
name = "a" name = "b"
name = "a" alt_name = "b"
Formato data-ora non valido
Le date-ora di TOML seguono l'RFC 3339. Una data richiede un anno completo di 4 cifre, un mese di 2 cifre e un giorno di 2 cifre; una data-ora richiede un separatore T (o uno spazio). Le date malformate non vengono analizzate.
released = 2026-7-2
released = 2026-07-02
Parentesi di chiusura mancante
Array, tabelle inline e intestazioni di tabella devono essere chiusi. Un [ o { non chiuso produce un errore di analisi che indica la riga e la colonna in cui è stato rilevato il problema.
ports = [8001, 8002
ports = [8001, 8002]
Intero oltre l'intervallo sicuro
Gli interi TOML sono a 64 bit, ma i numeri JSON nel browser sono limitati a 2^53 - 1. I valori oltre tale limite vengono arrotondati durante la conversione e viene mostrato un avviso. Memorizza gli interi molto grandi come stringhe tra virgolette per mantenerli esatti.
snowflake = 1420070400000000000
snowflake = "1420070400000000000"
Ridefinire una tabella
Una volta definita una tabella come [servers], non puoi riaprirla con la stessa intestazione. Per avere più voci, usa invece un array di tabelle ([[servers]]), che diventa un array JSON di oggetti.
[servers] name = "a" [servers] name = "b"
[[servers]] name = "a" [[servers]] name = "b"
Casi d'uso comuni
- Metadati Cargo di Rust
- Converti Cargo.toml in JSON per costruire dashboard delle dipendenze, verificare versioni e feature dei crate o passare i dati del manifest a script e CI che si aspettano JSON anziché TOML.
- Configurazione di progetto Python
- Converti pyproject.toml in JSON per ispezionare i metadati di progetto PEP 621, estrarre elenchi di dipendenze o alimentare strumenti che leggono la configurazione di packaging in modo programmatico.
- Ispezione della configurazione di deploy
- Converti netlify.toml, foundry.toml o altre configurazioni di piattaforma in JSON per verificare redirect, header e impostazioni di build, o per generare una configurazione equivalente per un'altra piattaforma.
- Migrazione del formato di configurazione
- Converti la configurazione di applicazione TOML in JSON quando passi a un sistema che preferisce JSON, o come passaggio intermedio prima di trasformarla ulteriormente con strumenti JSON come jq.
- Impostazioni di siti statici
- Converti il config.toml di Hugo in JSON per migrare le impostazioni del sito, confrontare la configurazione tra ambienti o costruire un'interfaccia di impostazioni basata su JSON.
- Input per API e script
- Trasforma il TOML scritto dalle persone in JSON che un'API REST, una funzione serverless o uno script di automazione può consumare direttamente, collegando la configurazione leggibile e l'input per le macchine.
Dettagli tecnici
- Analisi TOML 1.0.0 tramite smol-toml
- Il TOML viene analizzato con la libreria smol-toml, un parser a dipendenza zero pienamente conforme a TOML 1.0.0. Gestisce correttamente tabelle annidate, chiavi con notazione a punti, tabelle inline, array di tabelle, stringhe multi-riga e tutti e quattro i tipi di data-ora, e segnala gli errori di analisi con la posizione di riga e colonna.
- Date-ora senza perdita e gestione sicura degli interi
- Le date-ora di TOML vengono serializzate in stringhe JSON che conservano il loro tipo esatto (offset date-time, local date-time, data locale, ora locale). Gli interi oltre l'intervallo sicuro di JavaScript (2^53 - 1) vengono promossi a BigInt durante l'analisi, poi convertiti nel numero JSON più vicino con un avviso di precisione, così il TOML valido non fallisce mai la conversione.
- 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
- Memorizza gli interi molto grandi come stringhe
- Se il tuo TOML ha interi oltre 2^53 - 1 (Snowflake ID, timestamp in nanosecondi, contatori grandi), racchiudili tra virgolette come stringhe prima di convertire. I numeri JSON nel browser non possono contenerli esattamente e lo strumento ti avviserà quando deve arrotondare.
- Preferisci il rientro di 2 spazi per l'output JSON
- Il rientro di due spazi è la convenzione più diffusa per JSON e produce un output pulito e leggibile che si integra bene con la maggior parte dei formattatori e degli strumenti di diff. Riserva il rientro di 4 spazi a quando una linea guida di stile lo richiede.
- Valida l'output JSON prima di usarlo
- Dopo la conversione, se prevedi di modificare a mano il JSON o di passarlo a qualcosa di rigoroso, controllalo con il nostro Formattatore JSON per confermare che sia valido e formattato in modo coerente.
- Conserva separatamente i commenti TOML
- JSON non ha una sintassi per i commenti, quindi i commenti # di TOML vengono eliminati durante la conversione. Se i commenti sono documentazione importante, conserva il TOML originale nel controllo di versione accanto al JSON generato.
- Usa array di tabelle per le sezioni ripetute
- Quando hai più sezioni simili (server, redirect, bin), scrivile come array di tabelle ([[section]]) invece di ripetere [section]. Si convertono in un array JSON di oggetti pulito invece di causare un errore di tabella duplicata.
Domande frequenti
Come si converte TOML in JSON online?
Che cos'è TOML e perché convertirlo in JSON?
Come vengono rappresentate in JSON le date e le ore di TOML?
Questo strumento gestisce Cargo.toml e pyproject.toml?
Come vengono convertiti le tabelle e gli array di tabelle di TOML?
Cosa succede agli interi molto grandi quando si converte TOML in JSON?
I miei dati TOML vengono inviati a qualche server?
Posso riconvertire JSON in TOML?
Come si converte TOML in JSON dalla riga di comando?
Come si converte TOML in JSON in Python, Rust o Node.js?
Il convertitore conserva l'ordine delle chiavi e cosa succede ai commenti?
C'è un limite alla dimensione del file per l'input TOML?
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.