1.YAMLとは
YAML(YAML Ain’t Markup Language)はデータを構造化して表現するための記法を定めたデータ形式の一つで、 ソフトウェアの設定ファイルの記述やデータ交換などで使われる。
YAMLはスカラー、シーケンス、マッピングといったデータ形式をインデントで表現することを基本とする。
2.YAMLの書き方
・スカラー
YAMLでは数字や文字列、真偽値など基本的な値を表現できる
1 2 3 |
version:1.0 name: "fugafuga" boolean: true |
・シーケンス(配列・リスト)
要素の集合をシーケンスで表現できる
要素はインデント、ダッシュ(-)、スペースの後に続けて書く
1 2 3 4 |
list: - 1.0 - fugafuga - true |
・マッピング(ハッシュ、辞書)
key:value型のコレクションをマッピングとして表現できる
1 2 3 4 |
map: name: "fugafuga" version: 1.0 boolean: true |
シーケンスの中にマッピングをネストしたり、マッピングの中にシーケンスをネストしたりすることができる。
・シーケンスの中に要素をマッピングする
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
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 } ] } |
・マッピングの中にシーケンスを入れる
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
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 } ] } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
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