レッスン 2
YAML vs JSON 日本語ガイド
設定と API に適した形式の選び方。
YAML と JSON は同じデータモデルを表現できますが、最適化するワークフローが異なります。
可読性
YAML は一般的なケースで括弧と引用符を減らし、大きな設定を読みやすくします。
database:
host: localhost
port: 5432
同等の JSON も有効ですが、人間が編集するにはノイズが多いです。
厳密さ
JSON の方が厳密で、大規模に安全にパースしやすいです。そのため多くの API は信頼できない入力に JSON を使い、YAML は 信頼できる人間が保守する 設定リポジトリで一般的です。
コメントと末尾カンマ
YAML は # コメントを許可します。標準 JSON では許可されません。CI や Helm ファイルで自明でないフラグを直接ドキュメント化するときに重要です。
変換ワークフロー
チームはしばしば次を行います。
- API やジェネレータから JSON をエクスポート
- 手動編集のために YAML に変換
- JSON のみ受け付けるツールのために JSON に戻す
往復変換はデータを保持しますが、キー順、引用、コメントは変わることがあります。変換後は必ず diff を確認してください。
JSON を選ぶ場合
- 公開 HTTP API とブラウザ向け payload
- 機械生成のログとイベント
- 曖昧な型付けを拒否しなければならないパイプライン
YAML を選ぶ場合
- git にチェックインする Kubernetes と Compose ファイル
- 開発者が編集する CI ワークフロー定義
- コメントと複数行文字列を含むアプリケーション設定