JSONとYAMLの配列とリスト
JSON配列がYAMLのダッシュ構文を使ったリストにどのようにマッピングされるかを学びます。シンプルな配列、オブジェクトの配列、ネストされた配列、混合型リストのフォーマットを解説します。
Structure
詳細な説明
配列は、JSONとYAMLの構文が最も視覚的に異なる部分の一つです。JSONは角括弧とカンマを使用しますが、YAMLはダッシュとインデントで順序付きリストを表現します。
JSONのシンプルな配列:
{
"fruits": ["apple", "banana", "cherry"],
"ports": [80, 443, 8080]
}
同じデータのYAML:
fruits:
- apple
- banana
- cherry
ports:
- 80
- 443
- 8080
JSONのオブジェクト配列:
{
"users": [
{"name": "Alice", "role": "admin"},
{"name": "Bob", "role": "editor"}
]
}
YAML(ブロックスタイル):
users:
- name: Alice
role: admin
- name: Bob
role: editor
各 - が新しい配列要素の開始を示します。同じオブジェクトのプロパティはダッシュの下で同じレベルにインデントされます。
ネストされた配列:
{ "matrix": [[1, 2], [3, 4], [5, 6]] }
matrix:
- - 1
- 2
- - 3
- 4
- - 5
- 6
YAMLは短い配列向けにインライン(フロー)スタイルもサポート: fruits: [apple, banana, cherry]。これはJSON構文と同じで、配列が短く可読性を損なわない場合に便利です。
重要: YAMLでは、ダッシュ・スペース(- )のプレフィックスはインデントの一部です。配列アイテムの位置合わせを間違えると、構造が完全に変わってしまうことがあります。
ユースケース
APIエンドポイントやルート定義のリストをJSON設定ファイルから、Swagger/OpenAPIのようにYAMLを一般的に使用するフレームワーク向けのYAML形式に変換する場合。