トップQs
タイムライン
チャット
視点

YAML

対人可読なデータシリアライズ形式 ウィキペディアから

YAML
Remove ads

YAML(ヤメル[1][2]、ヤムル[3])とは、構造化データやオブジェクト文字列シリアライズ(直列化)するためのデータ形式の一種。

概要 拡張子, MIMEタイプ ...

特徴

テキストのため可読である。その概念はXMLプログラミング言語であるCPythonPerlからきている。YAMLの原案はクラーク・エバンス[4]、ブライアン・インガーソン[5]、オーレン・ベンキク[6]が共同で出した。

YAMLは再帰的に定義された頭字語でありその語源は「YAML Ain't a Markup Language.(→YAMLはマークアップ言語じゃない)である。初期には「Yet Another Markup Language(→もうひとつ別のマークアップ言語)と言われていたが、マークアップよりもデータ重視を目的としていたために後付されてできた名前である。しかしながら XML(本当のマークアップ言語)がデータシリアライズ目的のために頻繁に使用されるため、 YAMLを軽量マークアップ言語と考えることもできる。類似の規格としてJSONがある。

表記方法

インデントを使い階層構造を表現する。ただし、インデントにはタブが使えずスペースのみが使える[7]。スペース2個単位でインデントすることが多い。

# は行コメント。---は、一つのファイル内に複数のYAMLドキュメントを埋め込むときに用いるセパレータ。

リスト

--- # お好みの映画、ブロック形式
- Casablanca
- Spellbound
- Notorious
--- # 買い物リスト、インライン形式、またはフロー形式
[milk, bread, eggs]

連想配列

--- # ブロック
name: John Smith
age: 33
--- # インライン
{name: John Smith, age: 33}

各行の改行の維持

data: |
  There was a young fellow of Warwick
  Who had reason for feeling euphoric
      For he could, by election
      Have triune erection
  Ionic, Corinthian, and Doric

最終行の改行のみ維持し他はスペース一字に置換

data: >
  Wrapped text
  will be folded
  into a single
  paragraph
  
  Blank lines denote
  paragraph breaks

ハッシュのリスト

- {name: John Smith, age: 33}
- name: Mary Smith
  age: 27

リストのハッシュ

men: [John Smith, Bill Jones]
women:
  - Mary Smith
  - Susan Williams

データ構造

YAML木は3種類の基本ノード、sequence, mapping, scalar からなる[8]。各ノードは kind, content, tag によって特徴づけられる[9]

実装

YAMLは次の言語で利用可能である。

脚注

関連項目

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads