本文へスキップ
ToolMug

JSON から TOML への変換

JSON を Rust の Cargo.toml、Python の pyproject.toml、Hugo、アプリケーション設定用の TOML に変換します。ネストしたオブジェクトは [tables] に、オブジェクトの配列は [[arrays of tables]] になり、無効な JSON は行番号付きで表示されます。

ブラウザ内で動作 — 入力した内容はアップロードされません

JSON → TOML
出力 (TOML)

使い方

  1. 左側に JSON を貼り付けるか、「サンプルを読み込む」をクリックします。
  2. JSON が入力されると TOML が表示されます。無効な場合はエラーの行が表示されます。
  3. TOML をコピーまたはダウンロードするか、「変換の向きを入れ替え」をクリックして TOML から JSON に戻します。

オプションの説明

null 値
TOML には null がないため、null のキーと配列要素は省略され、最初の行に省略したパスを示すコメントが入ります。
オブジェクト以外のルート
TOML のトップレベルはテーブルでなければなりません。JSON のルートが配列や単一の値の場合は items キーの下に置き、そのことをコメントで示します。
テーブルとテーブル配列
ネストしたオブジェクトは [a.b] テーブルに、要素がすべてオブジェクトの配列は [[a]] テーブル配列にし、それ以外の配列はインラインで書きます。

例

JSON:

{"server":{"host":"0.0.0.0","port":8080},"databases":[{"name":"main","url":"postgres://db:5432/app"}]}

TOML:

[server]
host = "0.0.0.0"
port = 8080

[[databases]]
name = "main"
url = "postgres://db:5432/app"

よくある質問

TOML と JSON はどう違いますか?

TOML は手で書く設定形式で、コメント、セクション、日時の値を扱えます。Cargo、pyproject、Hugo、Netlify などで使われます。JSON はプログラム間のデータ交換に向き、コメントはありません。

1.0 が 1 になったのはなぜですか?

JSON を JavaScript で解析すると 1 と 1.0 は同じ数値なので、整数として書き出されます。浮動小数点として必要な項目は、TOML で 1.0 に直してください。

キーの順序は保持されますか?

通常のキーと値は JSON の順序を保持します。TOML では [tables] と [[arrays of tables]] を通常のキーの後に置く必要があるため、それらは末尾へ移動します。

データはアップロードされますか?

いいえ。解析と変換はブラウザ内で行われるため、トークンやパスワードを含む設定にも使えます。

プライバシー

このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。

関連ツール