YAML・JSON変換

YAMLとJSONを相互に変換するツール。Kubernetesマニフェスト、GitHub Actions、docker-composeなどの設定ファイルの確認や書き換えに使える。

データ形式変換

XMLの属性は「@名前」、テキストは「#text」のキーに対応。CSV・TSVは1行目を見出しとして扱う。

入力形式
出力形式
65文字
出力(JSON)
[
  {
    "name": "Restring",
    "category": "dev"
  },
  {
    "name": "YAML",
    "category": "format"
  }
]

使い方

  1. 変換方向を選び、YAMLまたはJSONを入力する。
  2. 変換結果をコピーまたは保存する。
  3. 変換方向を切り替えると、変換結果が次の入力になる。

こんな用途に

  • KubernetesマニフェストやGitHub Actionsのワークフローの構造をJSONで確認したいとき。
  • APIレスポンスのJSONを設定ファイル用のYAMLに書き換えたいとき。
  • YAMLのインデントや記法の誤りを確認したいとき。

仕組み

  • YAML 1.2に対応したyamlライブラリで解析・出力。
  • JSONはJSON.parseで解析し、YAMLからの変換結果はインデント2で整形。

確認ポイント

  • YAMLはJSONの上位互換で、JSONはそのままYAMLとしても読める。
  • YAMLのコメントやアンカー(&・*)はJSONへ変換すると失われる。
  • YAML 1.2ではyes・noは真偽値ではなく文字列として扱う。

手元でやるには

YAMLをJSONへ変換

必要環境: yq(要インストール)
yq -o=json input.yaml

よくある質問

複数ドキュメント(---区切り)に対応している?

1ドキュメントのみ対応。複数ある場合はエラーになるため、ドキュメントごとに分けて変換する。

タブでインデントしたYAMLはエラーになる?

YAMLの仕様でインデントにタブは使えないため、スペースに置き換える。

関連ツール