先日、yaml ファイルを扱う機会があった時、
person: - id: 1 name: xxx address: yyy nextItem: zzz
と、
person: - id: 1 - name: xxx - address: yyy nextItem: zzz
の違いについて理解するのに少し時間がかかったので、ここに纏めておく。
Best Online YAML Converter - Convert YAML Strings into JSON, XML, CSV
のサイトで、 上記の yaml ファイル を json 形式に変換してみると、違いが分かりやすい。
一つ目は、
{ "person": [ { "id": 1, "name": "xxx", "address": "yyy" } ], "nextItem": "zzz" }
となり、2つ目は、
{ "person": [ { "id": 1 }, { "name": "xxx" }, { "address": "yyy" } ], "nextItem": "zzz" }
となる。
つまり、yaml ファイルの中にハイフンがあると、それ以降は、次のハイフンかインデントが戻る (少なくなる) まで、一纏まりの key-valueストア=配列の1要素として扱われることになる。