YAMLの概要

2016/11/12

YAMLは構造化データを表現するためのフォーマットです。似た位置づけのものにJSONがあります。自分はJSONを使うことが多いのですが、最近YAMLを使う機会があったのでちょっと整理してみました。

公式サイトによるとYAML is a human friendly data serialization standard for all programming languages.とのこと。

仕様面の概要をさらっと箇条書きでメモ。

  • テキストデータなので可読性が高い
  • インデントでデータの階層構造を表す
  • ハッシュと配列でデータを表す
  • ブロックスタイルとフロースタイルの2つの記述方法(混在可能)
  • データ型
    • 文字列、数値、真偽値、Null、日付の5種類
    • 明示的に文字列として扱う場合はシングルクォートかダブルクォートで囲う
  • コメント行は#で、複数行コメントアウトはできない
  • 拡張子は.yaml, yml

全体的にシンプルな仕様です。ただ、ブロックスタイルとフロースタイルがちょっと引っかかりやすいのでルールを確認。

ハッシュの書き方。

# ブロック
title: foo bar baz
author: Jane Doe
# フロー
{ title: foo bar baz, author: Jane Doe }

配列の書き方。

# ブロック
- foo
- bar
- baz
# フロー
[foo, bar, baz]

フロースタイルだとJSONっぽくなりますね。個人的にはYAMLを使うならブロックスタイルを採用したいです。フロースタイルだったらJSONを使えばいいので。




おススメ