YAMLの基本

1.YAMLとは
 YAML(YAML Ain’t Markup Language)はデータを構造化して表現するための記法を定めたデータ形式の一つで、 ソフトウェアの設定ファイルの記述やデータ交換などで使われる。
 YAMLはスカラー、シーケンス、マッピングといったデータ形式をインデントで表現することを基本とする。

2.YAMLの書き方
・スカラー
 YAMLでは数字や文字列、真偽値など基本的な値を表現できる

version:1.0
name: "fugafuga"
boolean: true

・シーケンス(配列・リスト)
 要素の集合をシーケンスで表現できる
 要素はインデント、ダッシュ(-)、スペースの後に続けて書く

list:
 - 1.0
 - fugafuga
 - true

・マッピング(ハッシュ、辞書)
 key:value型のコレクションをマッピングとして表現できる

map:
 name: "fugafuga"
 version: 1.0
 boolean: true

 シーケンスの中にマッピングをネストしたり、マッピングの中にシーケンスをネストしたりすることができる。

・シーケンスの中に要素をマッピングする 

YAML
list:
   - name: "fugafuga"
     version: 1.0
     boolean: true
   - name: "thomhom"
     version: 2.0
     boolean: true

JSONに変換
{
	"list": [
		{
			"name": "fugafuga",
			"version": 1,
			"boolean": true
		},
		{
			"name": "thomhom",
			"version": 2,
			"boolean": true
		}
	]
}

・マッピングの中にシーケンスを入れる

YAML
listMenu:
 list1:
   - name: "fugafuga"
     version: 1.0
     boolean: true
   - name: "thomhom"
     version: 2.0
     boolean: true

 list2:
   - name: "fu"
     version: 3.0
     boolean: true
   - name: "hom"
     version: 3.1
     boolean: true

JSONに変換
{
	"listMenu": {
		"list1": [
			{
				"name": "fugafuga",
				"version": 1,
				"boolean": true
			},
			{
				"name": "thomhom",
				"version": 2,
				"boolean": true
			}
		],
		"list2": [
			{
				"name": "fu",
				"version": 3,
				"boolean": true
			},
			{
				"name": "hom",
				"version": 3.1,
				"boolean": true
			}
		]
	}
}
YAML
employees:
  employee:
    - id: '1'
      firstName: Tom
    - id: '2'
      firstName: Maria
    - id: '3'
      firstName: James

JSONに変換
{
  "employees": {
    "employee": [
      {
        "id": "1",
        "firstName": "Tom"
      },
      {
        "id": "2",
        "firstName": "Maria"
      },
      {
        "id": "3",
        "firstName": "James"
      }
    ]
  }
}

(参考)YAMLコンバータで変換
 https://codebeautify.org/

The end