DevToolPal
日本語

TOML を JSON に変換

TOML を JSON に、JSON を TOML に変換します。テーブル、テーブル配列、インラインテーブル、日付に対応し、エラー位置も正確に表示します。

ローカルで処理、アップロードなし

オプション

変換方向
JSON のインデント

入力

0 文字 · 0 B

出力

0 文字 · 0 B

何ができるか

このツールは TOML を JSON に、JSON を TOML に変換します。TOML は Rust の Cargo.toml、Python の pyproject.toml、Hugo、Netlify、Deno など多くのツールで使われている設定ファイル形式です。人が編集しやすい一方で、多くのスクリプト、API、バリデーターは JSON を前提としています。変換すれば、設定を JSON ツールで調べたり、プログラムに渡したり、JSON データをすっきりした設定ファイルにしたりできます。

使い方

  1. 入力欄に TOML を貼り付けるか、.toml ファイルをドロップするか、サンプル を押します。
  2. 入力に合わせて JSON が表示されます。インデントはスペース 2 つか 4 つを選べます。
  3. 逆方向に変換するには、変換方向 を JSON → TOML に切り替えます。TOML ドキュメントは常にテーブルなので、JSON のトップレベルはオブジェクトである必要があります。
  4. 結果をコピーまたはダウンロードします。

TOML に誤りがある場合は、エラーに行と列が表示され、クリックするとその位置にジャンプします。よくある誤りは、閉じ引用符の欠落、同じキーやテーブルの二重定義、= の右側に引用符なしの文字列を置くことです。

例

TOML の入力:

[server]
host = "0.0.0.0"
port = 8080

[[users]]
name = "Alice"
roles = ["admin", "editor"]

JSON の出力:

{
  "server": { "host": "0.0.0.0", "port": 8080 },
  "users": [{ "name": "Alice", "roles": ["admin", "editor"] }]
}

[server] はネストしたオブジェクトになり、[[users]] ブロックごとに users 配列に要素が 1 つ追加されます。

型の対応

  • 文字列、整数、浮動小数点数、真偽値はそのまま対応します。JavaScript の安全な範囲を超える大きな整数は精度が落ちるので、ID は文字列のままにしておきましょう。
  • 配列は配列に、テーブルとインラインテーブルはオブジェクトに対応します。
  • オフセット付き日時、ローカル日時、ローカル日付、ローカル時刻は ISO 8601 の文字列になります。
  • 逆方向では、null に相当するものが TOML にないため、パス付きでエラーとして報告されます。ネストしたオブジェクトは [table] セクションに、オブジェクトの配列は [[array]] セクションになります。

よくある質問

› TOML ファイルはアップロードされますか?

いいえ。解析と変換はすべてブラウザ内で行われるので、Cargo のマニフェストや pyproject ファイル、秘密情報を含む設定ファイルが端末の外に出ることはありません。

› どの TOML バージョンに対応していますか?

TOML 1.0 です。テーブル、テーブル配列、インラインテーブル、複数行文字列、日付と時刻、16 進数・8 進数・2 進数の整数に対応しています。

› TOML の日付は JSON にどう変換されますか?

JSON には日付型がないため、日付と時刻は ISO 8601 の文字列になります。たとえば 2026-10-08 は "2026-10-08" のまま、1979-05-27T07:32:00Z は "1979-05-27T07:32:00.000Z" になります。

› JSON から TOML への変換が null で失敗するのはなぜですか?

TOML には null 値がないからです。ツールは処理を止め、database.password のように最初の null のパスを表示するので、そのキーを削除するか値を設定してください。

› コメントは残りますか?

残りません。JSON はコメントを保持できないため TOML のコメントは削除され、JSON には TOML に引き継ぐコメントがありません。