YAMLをJSONに変換する方法 — 手動・コマンドライン・ツール
YAMLファイルをJSONに変換する3つの方法を解説。手動変換の手順、PythonやyqによるCLI変換、FormatArcを使ったブラウザ変換。それぞれの使いどころと手順を紹介。

Kubernetesのマニフェストやdocker-compose.ymlをAPIに渡したい、あるいはYAMLで書かれた設定をプログラムから扱いやすいJSONに変換したい。そんな場面は開発中にたびたび出てきます。
この記事では、YAMLをJSONに変換する3つの方法を紹介します。手動変換、コマンドライン、そしてブラウザで完結するツールの順に解説していきます。
手動変換の手順
YAMLとJSONは構造的に互換性があります。手動で変換する場合は、以下のルールに従います。
- インデントによるネストを
{}に置き換える key: valueはそのまま"key": "value"にする(キーと文字列値はダブルクォートで囲む)- リスト(
- item)は[]に置き換える - 数値や
true/false/nullはクォートなしでそのまま使える
たとえば次のYAMLがあります。
server:
host: localhost
port: 8080
debug: true
これをJSONに変換するとこうなります。
{
"server": {
"host": "localhost",
"port": 8080,
"debug": true
}
}
単純な構造であれば手作業でもなんとかなります。ただし、YAMLのアンカーや複数行文字列(| や >)を含む場合は手動変換の難易度が一気に上がります。
コマンドラインで変換する
Python を使う方法
Pythonが入っている環境なら、ワンライナーで変換できます。
python3 -c "import sys,yaml,json; json.dump(yaml.safe_load(open(sys.argv[1])),sys.stdout,indent=2)" config.yaml
pyyaml がインストールされていない場合は pip install pyyaml で入れてください。
yq を使う方法
yq はYAML版の jq ともいえるコマンドラインツールです。YAML → JSON の変換に特化した機能があります。
yq -o=json config.yaml
インストールは Homebrew なら brew install yq、その他の環境は公式リポジトリを参照してください。CI/CD パイプライン内での変換にはこの方法が向いています。
FormatArc で変換する(一番楽な方法)
環境構築なしで今すぐ変換したいなら、YAML to JSON が手軽です。
手順は3つです。
- YAML to JSON を開く
- 左側のエディタにYAMLを貼り付ける
- 「変換」ボタンを押す

右側にJSONの変換結果が表示されます。そのままコピーして使えます。
ブラウザ内ですべての処理が完結するため、社内の設定ファイルなど外部に送りたくないデータでも問題なく使えます。
どの方法を選ぶか
状況に応じて使い分けるのがよいでしょう。
- 小さなファイルを1回だけ変換したい → FormatArc
- CI/CD や自動化スクリプトに組み込みたい → yq や Python
- 構造を理解しながら変換したい → 手動
YAMLとJSONの構文上の違いについて詳しく知りたい場合は、YAMLとJSONの違いを参照してください。YAMLそのものの基本についてはYAMLとはでまとめています。
逆方向の変換、つまりJSONからYAMLにしたい場合はJSONをYAMLに変換する方法を参考にしてください。