変換 JSON → YAML
JSON を YAML に変換する
JSON を YAML(YAML Ain't Markup Language)に変換する方法です。Kubernetes / GitHub Actions / Ansible などで必要になります。
このページで変換する
JSON ↔ YAML 変換
このページで直接使えます
直近の入力
全履歴 ·
履歴はあなたのブラウザにのみ保存されます。サーバーに送信されません。 設定
解説
JSON は YAML 1.2 のサブセットなので、ほぼすべての JSON はそのままでも YAML として有効です。可読性のため、インデントによるネスト表現に書き直し、配列はハイフン - で各要素を表す形式にするのが普通です。 気をつけたいのは、yes / no / on / off が YAML 1.1 で真偽値に解釈される点、01234 のような前ゼロ付き文字列が数値解釈されることがある点です。文字列として保持したい値はクォートで囲みます。
サンプル入力(JSON)
{
"name": "my-app",
"version": "1.0.0",
"deps": {
"react": "^18.0.0",
"astro": "^5.0.0"
},
"tags": ["web", "frontend"]
} サンプル出力(YAML)
name: my-app
version: 1.0.0
deps:
react: ^18.0.0
astro: ^5.0.0
tags:
- web
- frontend 使うときのコツ
- · "true" / "false" / "yes" / "no" / "null" などの値はクォートで囲んで真偽値・null に誤変換されないようにする
- · コメント(# ...)は JSON にないが YAML にはある。JSON → YAML 変換ではコメントは付与されない
- · 数値文字列("01234" のような ZIP コード)は YAML が数値解釈する可能性があるためクォート必須
よくある質問
▶ YAML 1.1 と 1.2 の違いは?
1.1 は yes/no/on/off も真偽値扱いし型変換が緩い、1.2 は JSON 互換性を優先して true/false のみ真偽値扱い。多くのツール(GitHub Actions など)は 1.2 系です。
▶ JSON をそのまま YAML として貼っても動く?
はい。JSON は YAML 1.2 の有効なサブセットです。{ "a": 1 } をそのまま YAML として書いても解釈されます。可読性のためインデント形式に書き直すことが多いです。
▶ YAML のフロースタイル([1, 2, 3])とブロックスタイル(- 1)はどう使い分ける?
短い配列・オブジェクトはフロースタイル、ネストが深い・長い場合はブロックスタイルが読みやすいです。プロジェクトの慣習に合わせます。
▶ アンカー(&) とエイリアス(*)は変換時にどうなる?
JSON にはアンカー機能がないので、YAML → JSON 時は展開された値が出ます。JSON → YAML 時はアンカーは生成されません(必要なら手動で)。
▶ Kubernetes の Deployment マニフェストに使えますか?
k8s は YAML / JSON どちらも受け付けますが、慣習で YAML が多用されます。コメントを書ける、テンプレート化しやすいなどの利点があります。
▶ 改行を含む長い文字列はどう書く?
YAML には | (改行を保持)と > (改行を空白に折り畳み)の構文があります。例: `desc: |\n line1\n line2`。
関連ツール
JSON ↔ YAML 変換
JSON と YAML を双方向に変換します。自動判定とフロースタイル切替に対応。