YAML・JSON変換
YAMLとJSONを相互に変換するツール。Kubernetesマニフェスト、GitHub Actions、docker-composeなどの設定ファイルの確認や書き換えに使える。
データ形式変換
XMLの属性は「@名前」、テキストは「#text」のキーに対応。CSV・TSVは1行目を見出しとして扱う。
65文字
出力(JSON)
[
{
"name": "Restring",
"category": "dev"
},
{
"name": "YAML",
"category": "format"
}
]使い方
- 変換方向を選び、YAMLまたはJSONを入力する。
- 変換結果をコピーまたは保存する。
- 変換方向を切り替えると、変換結果が次の入力になる。
こんな用途に
- 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の仕様でインデントにタブは使えないため、スペースに置き換える。