Convertitore da TOML a JSON
Converti TOML in JSON e JSON in TOML nel tuo browser. Gestisce tabelle, array di tabelle, date e interi a 64 bit. Non viene caricato nulla.
Come convertire TOML in JSON
- Scegli la direzione: TOML → JSON (predefinita) oppure JSON → TOML.
- Incolla i dati, oppure premi Apri un file per caricare un file
.tomlo.json(fino a 10 MB). - Per TOML → JSON, scegli l’Indentazione (2 o 4 spazi) e decidi se spuntare Interi grandi come stringhe. Per JSON → TOML, lascia o togli Ometti i valori null.
- Spunta Ordina le chiavi se vuoi ogni tabella in ordine alfabetico.
- Il risultato si aggiorna mentre scrivi; Converti rilancia la conversione su richiesta. Gli errori indicano la riga e la colonna del problema.
- Copia o scarica il risultato. Inverti direzione sposta l’output nell’input per riconvertirlo.
TOML e JSON a confronto
TOML (Tom’s Obvious Minimal Language) è il formato di configurazione di Cargo.toml in Rust, di pyproject.toml in Python, dei siti Hugo e Netlify e di molti strumenti da riga di comando. È pensato per essere letto e modificato dalle persone e corrisponde direttamente a un albero simile al JSON, fatto di tabelle (oggetti), array e valori.
[package]
name = "demo"
version = "0.1.0"
[[bin]]
name = "cli"
diventa
{"package": {"name": "demo", "version": "0.1.0"}, "bin": [{"name": "cli"}]}
- Un’intestazione
[tabella]diventa un oggetto JSON, e le chiavi puntate comea.b.c = 1diventano oggetti annidati. - Un array di tabelle,
[[bin]], diventa un array JSON di oggetti. - Le tabelle inline
{ x = 1 }e gli array funzionano come ti aspetti. I commenti vengono eliminati, perché il JSON non li prevede.
Dove i due formati differiscono
Date e orari. TOML ha quattro tipi nativi di data/ora; JSON nessuno. Il convertitore li scrive come stringhe ISO 8601 mantenendone la natura: una data/ora con offset resta 1979-05-27T07:32:00.000-08:00, una data locale resta 1979-05-27 e un orario locale resta 07:32:00.000. Le frazioni di secondo sono conservate al millisecondo. Riconvertendo in TOML si ottengono semplici stringhe, perché nel JSON nulla le identifica come date.
Interi. Gli interi TOML sono a 64 bit con segno, da −9.223.372.036.854.775.808 a 9.223.372.036.854.775.807. I numeri JavaScript, usati dalla maggior parte dei parser JSON, sono esatti solo fino a 2^53 (9.007.199.254.740.991). Gli interi TOML più grandi vengono scritti con tutte le cifre, il che è JSON valido, ma un programma che li legge come double li arrotonderà; spunta Interi grandi come stringhe per evitarlo. Un intero fuori dall’intervallo a 64 bit viene rifiutato, come richiede la specifica TOML.
Float speciali. inf, -inf e nan non hanno una forma JSON, quindi vengono scritti come stringhe "inf", "-inf" e "nan".
JSON → TOML. Un documento TOML è sempre una tabella, quindi il JSON deve essere un oggetto al livello più alto. TOML non ha null: per impostazione predefinita i valori null vengono omessi e un messaggio ti dice quanti sono; togli Ometti i valori null per ottenere invece un errore con la posizione del primo. Il JSON non distingue 1 da 1.0, quindi i numeri interi diventano interi TOML e i numeri troppo grandi per 64 bit diventano float. Nei browser recenti, gli interi grandi del tuo JSON conservano le cifre esatte.
Domande frequenti
La mia configurazione viene inviata da qualche parte?
No. La conversione avviene interamente nel tuo browser, quindi chiavi API o segreti presenti nei tuoi file di configurazione non lasciano mai il tuo computer.
Perché l'ordine delle chiavi è cambiato nell'output TOML?
TOML richiede che in ogni tabella le semplici coppie chiave/valore vengano prima delle sottotabelle, quindi il convertitore scrive prima i valori, poi le [tabelle], poi gli [[array di tabelle]]. I dati sono gli stessi.
I commenti TOML vengono conservati?
No. Il JSON non ha commenti, quindi vanno persi nella conversione TOML → JSON e non ce ne sono da ripristinare al ritorno.
Quale versione di TOML è supportata?
TOML 1.0, comprese chiavi puntate, tabelle inline, array di tabelle, interi esadecimali, ottali e binari e tutti e quattro i tipi di data/ora.
Perché nel JSON la mia data è una stringa?
Il JSON non ha un tipo data. Le stringhe ISO 8601 sono la convenzione abituale e la maggior parte dei linguaggi le interpreta direttamente.
Strumenti correlati
- Convertitore da JSON a YAML Converti JSON in YAML e YAML in JSON nel browser, con supporto di anchor, merge key e file con più documenti. Nulla viene caricato.
- Formattatore e validatore JSON Formattatore e validatore JSON gratuito che formatta, minifica e controlla il JSON nel browser, con gli errori di sintassi indicati per riga e colonna.
- Convertitore da JSON a XML Converti JSON in XML e XML in JSON nel browser, con gestione di attributi, elementi ripetuti e CDATA. Nulla viene caricato su un server.