JSON を YAML に変換

ローカル処理
app.yaml.view

次の方法でも #data={"name":"Ada"} または #url=... データを流し込めます。読み取り後はアドレスバーから削除されます。

JSON は API 向き、YAML は Kubernetes、CI、ローカル設定でよく使われます。このページはブラウザ内で双方向変換し、マニフェスト全体をオンライン変換サイトへ送らずに済みます。方向は切り替え可能:JSON → YAML は読み書きしやすく、YAML → JSON はプログラム消費向きです。

双方向

左に JSON を貼ると YAML になり、YAML を貼ると JSON にもなります。変換後はインデントと型を抜き取り確認してください(YAML の on / off は真偽値と見なされることがあります)。

複雑なアンカー、マルチドキュメントなど高度な YAML 機能の現在のサポートは限定的です。

設定向け

Deployment、docker-compose などを直してから JSON へ戻して検証できます。API mock は JSON、デプロイマニフェストは YAML、間はこのページでつなぎます。

変換後は対象環境で一度スモークし、手書きファイルと同じ動きか確認することを推奨します。

コメント

JSON へ移すと YAML コメントは残りません。形式そのものの制約です。重要な説明はリポジトリの文書へ書いてください。

JSON から YAML へ移しても、コメントが突然増えることはありません。

JSON
{
  "apiVersion": "apps/v1",
  "kind": "Deployment",
  "metadata": { "name": "json-toolbox" }
}
YAML
apiVersion: apps/v1
kind: Deployment
metadata:
  name: json-toolbox
インデントが違うとどうなりますか?

YAML はインデントに敏感です。解析に失敗したらまず空白を確認してください。JSON にしてからフォーマットすると、構造が見えやすいことが多いです。

JSON5 との使い分けは?

コメントが必要で JSON 構文に近いなら JSON5。K8s / Ansible 向けなら YAML です。

「変換を実行」は必要ですか?

必要です。フォーマットのように入力即処理ではなく、方向や内容を変えたらもう一度変換を押してください。

キー順は変わりますか?

手書き YAML と完全には一致しないことがありますが、意味は変わりません。順序に敏感な流れは自分で照合してください。

おすすめの手順

  1. 方向を選びます:JSON → YAML または YAML → JSON。
  2. 元ファイルを貼り、「変換を実行」を押し、必要なら結果をダウンロードします。
  3. YAML 側はインデントを確認。JSON 側は検証ページでも確認します。
  4. K8s / CI で一度実行し、変換前と同じ動きか確認します。

変換前に元ファイルのバックアップを残してください。アンカー、merge key など複雑な YAML は専用ツールか手作業で処理してください。