TOML↔JSON 変換ガイド

JSON(更新: 2026年6月3日)

TOMLとは

TOML(Tom's Obvious Minimal Language)は設定ファイル専用に設計された形式で、GitHub共同創業者のTom Preston-Wernerが作成しました。目標は:

  • 人間が読みやすく、意味が明確
  • ハッシュテーブルに一意にマッピング可能
  • YAMLよりシンプル、JSONより扱いやすい

基本構文

title = "TOML 例"

[owner]
name = "太郎"
email = "taro@example.com"

[database]
host = "127.0.0.1"
port = 5432
enabled = true

TOML vs JSON vs YAML 比較

特徴 TOML JSON YAML
コメント # 対応 非対応 # 対応
日付型 ネイティブ対応 非対応 非対応
複数行文字列 対応 非対応 対応
複雑さ
パースの曖昧さ なし なし あり
主な用途 設定ファイル データ交換 設定ファイル

TOML↔JSONツールで変換する

ステップ1:変換方向を選択

TOML↔JSONツールを開き、「TOML → JSON」または「JSON → TOML」を選択。

ステップ2:データを入力

TOMLまたはJSONの内容を入力エリアに貼り付け。ファイルの直接アップロードも対応。

ステップ3:変換

変換ボタンをクリック。結果は出力エリアに即座に表示。

ステップ4:コピーまたはダウンロード

ワンクリックで変換結果をコピー、または対応形式のファイルとしてダウンロード。

TOML→JSONのマッピングルール

基本型

string = "hello"
integer = 42
float = 3.14
boolean = true

JSONに変換:

{
  "string": "hello",
  "integer": 42,
  "float": 3.14,
  "boolean": true
}

テーブル(Table)→ オブジェクト

[server]
host = "localhost"
port = 8080

JSONに変換:

{
  "server": {
    "host": "localhost",
    "port": 8080
  }
}

配列

ports = [8000, 8001, 8002]

日時

TOMLは日付型をネイティブ対応。JSONでは文字列になります:

created = 2026-06-01T10:00:00Z

"created": "2026-06-01T10:00:00Z"

JSON→TOMLの注意点

  • JSONの null はTOMLに対応する型がない — 変換時に特別な処理が必要
  • JSON配列内の混合型はTOMLでは不正
  • JSONのネストされたオブジェクトはTOMLのテーブルに変換
  • 変換後、コメントとフォーマットが要件を満たすか確認を推奨

よくあるユースケース

Rustプロジェクト:Cargo.toml

[package]
name = "my-app"
version = "0.1.0"
edition = "2021"

[dependencies]
serde = "1.0"
tokio = { version = "1", features = ["full"] }

依存バージョンを変更する際、TOML↔JSONツールでJSONに変換してプログラム的に処理し、再変換。

Pythonプロジェクト:pyproject.toml

[project]
name = "my-package"
version = "1.0.0"
requires-python = ">=3.8"

[project.dependencies]
requests = "^2.28"
flask = "^2.3"

静的サイト設定

HugoやZolaなどの静的サイトジェネレーターはTOMLを設定形式として使用し、JSONとの相互変換がよく必要。

他形式との連携

  1. TOML ↔ YAML:TOML↔JSONツールでJSONに変換後、YAML↔JSONツールでYAMLに変換
  2. 変換後は JSONフォーマッター で中間結果を検証
  3. 元のTOMLのコメントは保持し、変換後に手動で補完を推奨

よくあるエラー

エラー 原因 解決方法
TOMLパース失敗 構文エラー テーブルヘッダーとキー値の形式を確認
日時フォーマット異常 タイムゾーン情報不足 完全なISO 8601形式を使用
nullを変換できない TOMLにnullなし 空文字列にするかフィールドを削除
インラインテーブルの形式エラー 構文が非標準 標準テーブル形式に変更

まとめ

TOMLはモダンな設定ファイルの優れた選択肢で、JSONとの相互変換はプロジェクト設定管理で非常に実用的です。TOML↔JSONツールで素早く形式変換を行い、YAML↔JSONツールと組み合わせれば3つの形式間で自由に切り替え可能です。

#TOML#JSON#配置文件#Rust#Python