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