Che cosa fa questo strumento
Le mappe annidate diventano tabelle, gli elenchi di mappe array di tabelle:
db:
host: db.example.com
pool:
size: 10
servers:
- name: a
- name: b
[db]
host = "db.example.com"
[db.pool]
size = 10
[[servers]]
name = "a"
[[servers]]
name = "b"
Tre cose che TOML non può reggere
Null. TOML non ha un valore nullo. Togliere la chiave cambierebbe ciò che il file dice; scrivere "" inventerebbe un valore. La conversione si ferma e ti dice quale.
Un elenco alla radice. Un file TOML è una tabella: il primo livello sono coppie chiave/valore, sempre. Un documento YAML con una sequenza alla radice non ha dove metterle. Dai un nome all’elenco e si converte.
Più documenti. --- separa i documenti YAML; TOML non ha separatore né un modo di dire «ed ecco un altro file». Uno per volta.
Le date restano stringhe
2026-01-01 arriva come stringa, perché così la legge YAML 1.2, ed esce come stringa tra virgolette.
TOML ha in effetti un tipo data nativo, e usarlo vorrebbe dire decidere che l’autore pensasse a una data. A volte è così. A volte 2026-01-01 è un codice prodotto, il nome di una cartella, una versione. Sbagliare trasforma testo in timestamp, e non è un cambiamento che si noti prima che qualcosa, più avanti, si metta a ordinare.
Un punto sui grandi interi
Un intero oltre una quindicina di cifre viene arrotondato per strada. La conversione passa per JSON, i cui numeri sono valori in virgola mobile a doppia precisione, ed è lì che le cifre si perdono.
yaml-to-json li tiene esatti: legge le cifre come sono scritte. Il confine che arrotonda è quello condiviso da tutte le conversioni json-to-…, e sarà affrontato lì anziché rattoppato qui. Nel frattempo: se il tuo file porta un identificatore di venti cifre, mettilo tra virgolette nello YAML e passerà come stringa, intatto.
Privato per progettazione
Tutto viene eseguito localmente nel browser con JavaScript. I tuoi dati non vengono mai caricati, quindi lo strumento è sicuro per contenuti sensibili e funziona anche offline.