JSON to YAML コンバーター
JSON を YAML に、または YAML を JSON に変換します。インデンテーションを調整し、インラインアレイを切り替え、結果をダウンロードできます。すべてブラウザ内で動作します。
動作方法: 下に JSON または YAML を貼り付け、変換方向を選択し、必要に応じてインデントサイズを調整して、即座に結果を表示します。準備ができたらダウンロードしてください。データはブラウザを離れません。
JSON と YAML とは
JSON(JavaScript Object Notation)と YAML(YAML Ain't Markup Language)は、最も人気のあるデータシリアライゼーション形式の 2 つです。JSON はブレース、ブラケット、クォートを使用して構造化データを表現し、REST API、設定ファイル、Web データ交換のデフォルト形式です。YAML はインデンテーションと最小限の構文を使用して同じ目的を達成し、より人間が読みやすく、手動で作成しやすくしています。JSON はマシン間通信に適している一方、YAML は人間が頻繁にデータを読み書きする必要がある設定ファイルに好まれています。
JSON vs YAML — 主な違い
最大の違いは構文です。JSON はブレース、ブラケット、カンマ、クォートされたキーが必須ですが、YAML はインデンテーションと改行に依存しています。YAML はコメント(#で表記)をサポートしており、JSON ではこれがサポートされていない点が設定ファイルの大きな利点です。YAML はアンカーとエイリアスによる値の再利用、複数行の文字列、より柔軟な型強制(例:yes/no がブール値になる)もサポートしています。JSON はより厳密で予測可能であり、データ交換に優れています。YAML はより表現力豊かですが、暗黙的な型変換を通じて微妙なバグが生じる可能性があります。
DevOps における YAML
YAML は DevOps とインフラストラクチャアズコードの共通言語となっています。Kubernetes マニフェスト、Docker Compose ファイル、GitHub Actions ワークフロー、GitLab CI パイプライン、Ansible プレイブック、Helm チャートはすべて YAML を設定形式として使用しています。その読みやすさにより、複雑なデプロイメント設定、サービス依存関係、自動化ワークフローの定義に最適です。JSON API レスポンスや生成された設定を YAML に変換することは、CI/CD パイプラインにツールを統合したり Kubernetes リソースを準備する際の一般的なタスクです。
変換のヒント
- 変換前に JSON または YAML を常に検証して、構文エラーを早期に発見する
- YAML の暗黙的な型強制に注意する — 'yes'、'no'、'on'、'off' などの文字列がブール値になる
- Kubernetes と Docker Compose の規約に合わせて 2 スペースのインデンテーションを使用する
- アレイに単純な値が含まれている場合、インラインアレイを有効にしてコンパクトな出力を得る
- YAML の文字列を引用符で囲む(数値、ブール値、null として誤釈される可能性がある場合)
- デプロイ前に変換された YAML をターゲットツール(kubectl、docker-compose)でテストする