このツールの動作
入れ子のマッピングはテーブルに、マッピングの並びはテーブルの配列になります。
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"
TOML が持てない三つのもの
null。 TOML に空値はありません。キーを落とせばファイルの意味が変わり、"" を書けば値を発明することになります。変換は止まり、どのキーかを告げます。
根の並び。 TOML のファイルはテーブルそのもので、最上位は常にキーと値の組です。根がシーケンスの YAML 文書には、それらの置き場がありません。並びに名前を付ければ変換できます。
複数の文書。 --- は YAML の文書を区切りますが、TOML に区切りはなく、「ここから別のファイル」と言う方法もありません。一つずつどうぞ。
日付は文字列のまま
2026-01-01 は文字列として届きます。YAML 1.2 がそう読むからです。そして引用符付きの文字列として出ます。
TOML には確かに日付型があります。それを使うことは、著者が日付のつもりだったと決めることです。そうである場合もあります。2026-01-01 が製品コードやフォルダ名、版番号である場合もあります。外せばテキストが日時に変わり、その変化は、下流のどこかが並べ替えを始めるまで誰も気づきません。
長い整数について一つ
十五桁ほどを超える整数は、途中で丸められます。この変換は JSON を経由し、JSON の数値は倍精度浮動小数点だからです。桁が失われるのはそこです。
yaml-to-json 自体は桁を正確に保ちます。書かれたとおりに読むからです。丸めが起きる境界は json-to-… のすべての変換が共有するもので、ここで取り繕うのではなく、そちらで扱います。それまでは、二十桁の識別子があるなら YAML の側で引用符を付けてください。文字列としてそのまま渡ります。
プライバシー
すべての処理はブラウザ内のJavaScriptだけで完結します。データがアップロードされることはないため、機密情報でも安心して利用でき、オフラインでも動作します。