YAML→JSON変換
YAML形式のデータをJSONに変換します。Kubernetesマニフェスト・docker-compose.yml・CI設定ファイルなどYAMLで書かれた構造を、jqをはじめとするJSON専用ツールで扱える形にブラウザ上ですぐ変換できます。
使い方のヒント
- Kubernetesのマニフェストやdocker-compose.ymlなどYAML形式の設定ファイルをそのまま貼り付ければ、構造をJSONとして可視化でき、jqなどJSON専用のコマンドラインツールで扱えるようになります。
- 先頭にゼロが付く郵便番号や電話番号のような値は、クォートで囲まずに書くと数値として解釈され先頭のゼロが失われてしまうため、文字列として保持したい値は必ずクォートで囲んでください。
- アンカー(`&`)・エイリアス(`*`)や、`|`・`>` によるブロックスカラーを使った複雑なYAMLは対応していません。事前にシンプルな記法に書き換えてから貼り付けてください。
- 「整形表示」のチェックを外すと改行なしの1行JSONで出力されます。APIのリクエストボディに貼り付けたい場合など、改行を含めたくない場面で便利です。
よくある質問
余談ですが ― なぜ設定ファイルはYAMLで、ツールはJSONを求めるのか
YAMLはコメントを書けて引用符も最小限で済む可読性の高さから、Kubernetes・docker-compose・GitHub ActionsやAnsibleのプレイブックなど、人間が直接編集する設定ファイルの形式として広く使われています。一方でJSONは仕様がシンプルで曖昧さが少なく、プログラムから機械的に処理しやすいため、APIのデータ交換やjqのようなコマンドラインツールの入力形式として定着しています。
この「人間はYAMLで書き、ツールはJSONを求める」というギャップを埋めるのがYAML→JSON変換です。特にKubernetesの複雑なマニフェストは数百行に及ぶこともあり、目的の値を探すのに`grep`では限界があります。一度JSONに変換してjqでクエリをかければ、`.spec.containers[].image`のようにパスを指定して必要な値だけを瞬時に取り出せます。
ただしYAMLの仕様(YAML 1.2)は非常に広く、アンカー・エイリアスによる値の再利用や複数ドキュメントストリーム、複数行文字列を表現するブロックスカラーなど高度な機能を多数含みます。本ツールはそうした仕様全体には対応せず、実務で頻出するマッピング・シーケンス・基本スカラーの「共通サブセット」に絞ることで、シンプルな依存なしの実装を実現しています。