yamlとは
YAML (YAML Ain't Markup Language) は、構造化されたデータを記述するための軽量なマークアップ言語です。YAMLを複数行書きするには、それぞれの値の前にハイフン「-」をつけることで、複数行に渡って値を書くことができます。
例えば、次のようなYAMLファイルを考えます。
name: John
age: 35
このYAMLファイルは、「name」というキーに「John」という値、「age」というキーに「35」という値が割り当てられています。このYAMLファイルを、複数行に渡って書くこともできます。例えば、次のように書くことができます。
name:
- John
- Doe
age:
- 35
- 40
このように、YAMLを複数行に渡って書くには、値の前にハイフンをつけることで配列を表現します。
「>」を使用した場合、改行は含まれませんが、スペースが除去されます。つまり、改行を含むテキストをそのまま表現することができませんが、スペースを除去して表現することができます。例えば、次のようなYAMLファイルを考えます。
description: >
This is a description. It contains multiple lines of text.
このYAMLファイルでは、「description」というキーに、「This is a description. It contains multiple lines of text.」という文字列が割り当てられています。「>」を使用した場合、文字列の中に改行が含まれていても、文字列として表示されます。
「|」を使用した場合、改行がそのまま反映されます。つまり、改行を含むテキストをそのまま表現するこ とができます。例えば、次のようなYAMLファイルを考えます。
description: |
This is a description.
It contains multiple lines of text.
このYAMLファイルでは、「description」というキーに、「This is a description. It contains multiple lines of text.」という文字列が割り当てられています。
他の形式との違い
YAML、JSON、TOMLは、構造化されたデータを記述するための3つの軽量なマークアップ言語です。それぞれの特徴をまとめると次のようになります。
- YAML (YAML Ain't Markup Language)
- 人間が読み書きしやすい構文
- プログラミング言語やプラットフォームに依存しない
- 複雑なデータ構造を表現できる
- JSON (JavaScript Object Notation)
- JavaScriptで使用される構文
- プログラミング言語やプラットフォームに依存しない
- 簡潔で高速な読み書きが可能
- TOML (Tom's Obvious, Minimal Language)
- データをキーと値の組み合わせで表現する
- プログラミング言語やプラットフォームに依存しない
- 読み書きが高速で、シンプルな構文
YAML、JSON、TOMLは、それぞれに特徴がありますが、構造化されたデータを記述するためのマークアップ言語として、同じような役割を果たします。