pipipipi.net

YAML ⇔ JSON変換

YAMLとJSONを相互変換します。

YAML ⇔ JSON変換でできること

YAMLとJSONをブラウザ上でリアルタイムに相互変換できます。設定ファイルのフォーマット変換やデータ形式の確認に便利です。構文エラー時にはインデントの不整合やカンマの過不足など、具体的な修正ヒントを日本語で表示します。入力したデータはブラウザ内で処理され、サーバーに送信されることはありません。

使い方

変換方向の選択(ラジオボタン)
「JSON → YAML」または「YAML → JSON」をラジオボタンで切り替えます。切り替えると入力内容がリアルタイムに再変換されます。
入力テキストエリア
変換元のJSONまたはYAMLを入力するエリアです。入力するとリアルタイムで変換結果が表示されます。1MBまでの入力に対応しています。
結果表示エリア
変換結果がフォーマット済みで表示されます。右上の「コピー」ボタンで結果をクリップボードにコピーできます。

YAMLとJSONの違い

YAMLとJSONはどちらもデータのシリアライゼーション形式ですが、設計思想と用途に違いがあります。

コメントの有無
YAMLは # によるコメントを記述できます。JSONにはコメント機能がありません。設定ファイルに説明を残したい場合はYAMLが適しています。Docker ComposeやGitHub ActionsのワークフローファイルがYAMLを採用しているのはこのためです。
インデントの表現方法
YAMLは階層をインデント(スペース)で表現します。JSONは波括弧 {} と角括弧 [] を使います。YAMLはインデントのずれが構文エラーの原因になるため、エディタのYAMLサポートがあると作業しやすくなります。
文字列のクォート
JSONは文字列を必ずダブルクォートで囲む必要があります。YAMLは多くの場合クォートなしで文字列を記述できます。ただし :# を含む値や、true / false などの予約語に相当する文字列はクォートが必要な場合があります。
マルチラインリテラル
YAMLにはブロックスカラーという複数行テキストの記法があります。|(リテラルブロック)は改行をそのまま保持し、>(折り畳みブロック)は改行をスペースに変換します。この形式はJSONに変換すると \n を含む文字列になります。
型システム
YAMLは文字列・整数・浮動小数点・真偽値・null・日付などの型を自動推論します。123 は整数、true は真偽値として扱われます。意図せず型変換が起きることがあるため、YAML→JSON変換後に型が変わっていないか確認することを推奨します。

活用シーン

  • Docker Compose設定の確認docker-compose.yml の内容をJSON形式に変換して、設定値の構造をツリービューで確認したい場合に使えます。YAMLの省略記法が実際にどんな値に展開されるかを確かめる用途にも向いています。
  • APIレスポンスのデバッグ — APIが返すJSONを貼り付けてYAMLに変換すると、ネストが深いデータでも読みやすく整形されます。開発中にAPIレスポンスの構造を把握する際の補助ツールとして使えます。
  • CI/CD設定ファイルの変換 — GitHub ActionsやCircleCIのワークフロー設定はYAMLで記述します。外部ツールがJSON形式の設定を要求する場合、YAML→JSON変換を行うことで手動での書き直しを省けます。
  • KubernetesマニフェストのJSON変換 — Kubernetesのリソース定義はYAMLで書くことが多いですが、APIエンドポイントに直接PATCHリクエストを送る際はJSON形式が必要な場合があります。マニフェストをそのままJSONに変換して使えます。
  • 設定ファイルのフォーマット統一 — チームによってJSON派・YAML派が分かれることがあります。既存の設定ファイルを別形式に統一する際に、変換ツールとして活用できます。

変換時の注意点

YAML→JSON変換では、YAMLの一部の機能がJSONに対応していないため、情報が変化する場合があります。

  • YAMLのコメントはJSONに変換すると消えます。コメントが重要な情報を含む場合は別途保存しておく必要があります。
  • YAMLのアンカー(&anchor)とエイリアス(*alias)は、変換時に展開されます。参照先の値がすべての箇所にコピーされた形のJSONになります。
  • YAMLの日付型(例: 2024-01-01)は、JSONでは文字列として扱われます。
  • JSON→YAML変換では、すべてのキーはシングルクォートなしで出力されますが、特殊文字を含むキーにはクォートが付きます。

関連ツール

  • JSON整形・バリデーター — JSONのフォーマット整形と構文チェックに特化したツールです。YAML変換前にJSONの構文を確認する用途にも使えます。
  • JSONパス検索 — 変換後のJSONから特定のフィールドをJSONPath式で抽出できます。大きなJSONの中から必要な値だけを取り出す場合に便利です。