YAML と JSON:どちらをいつ使うか
YAML と JSON は同じ種類のデータ — ネストしたマップ、リスト、値 — を表しますが、住む世界が違います。YAML は設定の世界の主役です。Kubernetes マニフェスト、Docker Compose、GitHub Actions のワークフロー、Ansible のプレイブックが YAML で書かれるのは、人間が読みやすくコメントが書けるから。JSON はデータ交換の主役です。あらゆる言語がネイティブにパースでき、あらゆる REST API で使われ、構文が厳密で曖昧さの入り込む余地がありません。
この分業のせいで、変換は日常業務になります。JSON しか受け付けないツールに YAML 設定を渡すとき。API レスポンスを読みやすい設定に変えるとき。Kubernetes マニフェストを jq で JSON として調べるとき。この変換ツールは完全な検証付きで双方向に動作します — YAML のインデントに誤りがあれば、気づかないうちに壊れた出力を返すのではなく、行番号付きのエラーが表示されます。
設定ファイルにはデータベースのパスワード、API キー、内部ホスト名が日常的に含まれます。それを適当なオンライン変換サイトに貼り付けることは、他人のサーバーに送ることと同じです。このページは変換をブラウザ内でローカルに実行します。テキストはタブから出ません。
よくある質問
コメントは維持されますか?
いいえ — JSON にはコメント構文がないため、YAML → JSON の変換で失われます。ツールではなく形式の制限です。
対応する YAML のバージョンは?
広く使われている js-yaml ライブラリによる YAML 1.2 です — 大半の JavaScript ツールと同じ挙動です。
複数ドキュメントの YAML は扱えますか?
--- で区切られた複数ドキュメントのファイルは JSON 配列に変換されます — 1ドキュメントが1要素です。