コンテンツへスキップ
uencoder

TOML

TOML(Tom's Obvious, Minimal Language)は設定向けのフォーマットで、テーブルとキーと値のペアでデータを表現する。明示的な意味を持ち、暗黙の型推論はない。

目的

YAML より明示的で JSON より設定に適したフォーマットを提供し、YAML の型推論の落とし穴を避ける。

メカニズム

テーブルは [section] で宣言し、キーと値のペアは key = value である。文字列、整数、浮動小数点、真偽値、日付、配列、インラインテーブルをサポートする。参照や複数ドキュメントストリームはなく、型は明示的である。Rust の Cargo.toml と Python の pyproject.toml が主な利用者である。

ユースケース

  • Rust の Cargo.toml
  • Python の pyproject.toml の記述
  • 静的サイトジェネレータの設定
  • ツールチェーンの設定

例

  • 入力
    [owner]
    name = "Ada"
    Output
    The table {owner:{name:"Ada"}}

    Explicit types

よくあるエラー

Expecting TOML but writing YAML-style indentation
TOML uses table headers, not indentation

関連用語

関連ツール

References