backport

技術ネタと野球とときどき雑談

YAMLの概要

2016/11/12
development YAML

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を使えばいいので。



コメント欄を表示する

おススメ

WEB+DB PRESS Vol.99

特集「良いコードって何だろう?」がおススメ

WEB+DB PRESS総集編[Vol.1~84] (WEB+DB PRESS plus)

お値段手ごろなので持っておいて損なし

Kindle Paperwhite Wi-Fi、ブラック

読みたいときに読みたい本を読めるのが嬉しい

超小型65W ノートPC汎用 ACアダプター FINsix ”Dart” (シルバー)超軽量85g 11種類の変換プラグで1000機種以上のノートPCに対応 USB5V出力付きでPCとスマホ同時充電 ※必ずご使用のPCとの互換性をご確認ください。『PSE認証済』

持ち運びに便利な小型軽量のACアダプタ