JSONとYAMLを双方向でリアルタイム変換(ブラウザ内で完結)
本ツールは、JSONとYAMLを双方向で相互変換できる無料のオンラインツールです。左のペインにJSONを貼り付けると右にYAMLが、右にYAMLを貼り付けると左にJSONが、入力に合わせてリアルタイムで表示されます。インストールや会員登録は不要で、変換処理はすべてお使いの端末(ブラウザ)内で完結します。入力したデータが外部のサーバーに送信されることはありません。
使い方はかんたんです。変換したいデータをどちらかのペインに入力・貼り付けるだけで、反対側に変換結果が表示されます。「サンプルを読み込む」ボタンで例となるデータを読み込めるほか、各ペインの「コピー」ボタンで結果をクリップボードにコピーできます。ツールバーの「インデント」設定では、出力のネストに使うスペース数を2スペース/4スペースから選べます。
Kubernetesのマニフェスト、GitHub Actionsのワークフロー、Ansible、Docker Composeなど、設定ファイルはYAMLで書かれることが多い一方、APIのレスポンスやTerraformの出力、各種ツールの設定はJSONで扱われることも多くあります。JSONで受け取った内容をYAMLに整形して設定ファイルに貼り付けたり、逆にYAMLの設定をJSONに変換してプログラムから読み込んだりと、フォーマットを行き来する日常的な作業を素早くこなせます。
JSON(JavaScript Object Notation)とYAML(YAML Ain't Markup Language)は、どちらもデータ構造を表現するためのフォーマットで、オブジェクト(マップ)・配列(シーケンス)・文字列・数値・真偽値・nullといった基本要素を扱えます。両者は表現力がほぼ同じで相互変換が可能ですが、書き方の見た目が大きく異なります。
| 項目 | JSON | YAML |
|---|---|---|
| 構造の表現 | 波かっこ {} と角かっこ [] | インデント(スペース)と - |
| キーと値 | "key": value | key: value |
| コメント | 不可 | # で記述可能 |
| 可読性 | 機械向き・厳密 | 人間向き・設定ファイル向き |
| 主な用途 | API・データ交換 | 設定ファイル(K8s・CI) |
JSON→YAML変換では、特別な意味を持つ文字を含む文字列や、数値・真偽値に見えてしまう文字列は自動的にクォート(引用符付け)して、意味が変わらないようにします。改行を含む文字列はダブルクォートと \n で表現します。YAML→JSON変換では、# で始まるコメントを除去し、null/true/false や数値を適切な型に変換します。インデントにはスペースを使用してください(タブはYAMLの仕様上インデントに使えません)。