YAML(ヤムル)とは、構造化データを人間にとって読みやすく記述するためのデータ形式のこと。

概要

YAML は、インデント(字下げ)を用いて階層構造を表現することが特徴であり、人間にとって直感的で理解しやすい形式となっている。

JSON と同様に、様々なプログラミング言語で扱うことができ、設定ファイルやデータ交換など、幅広い用途で利用されている。YAML frontmatter として Markdown ファイルのメタデータを記述するためにも広く使われている。

主な特徴

  • 可読性: 人間が読み書きしやすいように設計されている。
  • シンプルな構文: 括弧や引用符の使用が少なく、簡潔に記述できる。
  • 多様なデータ型: 文字列、数値、真偽値、配列(シーケンス)、ハッシュ(マッピング)などを表現できる。
  • コメント: # を用いてコメントを記述できるため、設定ファイルなどに注釈を加えやすい。

基本的な構文

キーと値

コロン (:) を使用して、キーと値のペアを表現する。

key: value

配列(シーケンス)

ハイフン (-) を使用して、リストや配列を表現する。

- item1
- item2
- item3

階層構造(マッピング)

インデントを下げることで、データをネストさせることができる。

server:
  host: 127.0.0.1
  port: 8080

JSON との比較

YAML は JSON のスーパーセットであり、JSON のすべての機能を含んでいる。主な違いは以下の通りである。

  • YAML はコメントが使えるが、JSON は使えない。
  • YAML はインデントで構造を表現するため、括弧が不要で可読性が高い。
  • YAML はより複雑なデータ構造(アンカーやエイリアスなど)をサポートしている。

これらの特徴から、特に人間が直接編集する機会の多い設定ファイルなどで好んで使用される傾向がある。