YAML ↔ JSON 変換ツール

YAMLまたはJSONを貼り付けると、ツールが形式を自動検出してもう一方の形式に変換します。

機能

入力形式を自動判別
双方向で変換
エラーをハイライト

使い方

1. 入力ボックスにYAMLまたはJSONを貼り付けます。

2. 「変換」をクリックすると、もう一方の形式が右側に表示されます。

3. 結果をコピーまたはダウンロードします。

このツールについて

YAML と JSON は、オブジェクト、リスト、文字列、数値、真偽値、null という同じ種類のデータを表しますが、YAML はインデントを使うので手で書きやすく、JSON はより厳密でプログラム同士のやり取りに向いています。この変換ツールは貼り付けた形式を判別し、もう一方に変換します。多くの設定ファイルで使われる YAML、つまりインデントで表す入れ子のマッピングとシーケンス、引用符付き・なしのスカラー、数値、真偽値、null、行全体のコメント、インラインの [リスト] や {オブジェクト} に対応しています。YAML を JSON に変換すると、その YAML が実際にどう解釈されるかをすぐに確認できます。アンカー、エイリアス、複数行のブロックスカラー、複数ドキュメントなどの高度な YAML 機能には対応していないので、それらを含むファイルは完全な YAML ライブラリで検証してください。

よくある質問

YAML は JSON の上位互換ですか?
YAML 1.2 は、有効な JSON がそのまま有効な YAML になるよう設計されています。逆は成り立たず、YAML には JSON が認めていないコメント、アンカー、複数行の文字列、引用符のないテキストがあります。
「no」や「on」のような値の意味が変わってしまったのはなぜですか?
古い YAML 1.1 のパーサーは yes、no、on、off を真偽値として読むため、ノルウェーの国コード NO が false になってしまう事例が有名です。こうした値は引用符で囲む("no")と、どのパーサーでも文字列のままになります。
YAML でインデントがそれほど重要なのはなぜですか?
インデントがどのキーがどのオブジェクトに属するかを決めるからです。タブではなくスペースを使い、同じ階層のキーはそろえてください。スペースが1つ多いだけで、キーが別の親の下に移ってしまいます。
ここで対応していない YAML の機能は?
アンカーとエイリアス(&、*)、| や > を使うブロックスカラー、--- で区切った複数ドキュメント、カスタムタグは解釈しません。これらを使う Kubernetes のマニフェストや CI ファイルは、js-yaml や PyYAML などの完全なパーサーで検証してください。
YAML を JSON に変換するとコメントは残りますか?
残りません。JSON にはコメントの構文がないので、変換時にコメントは削除されます。コメントが大切な場合は、YAML ファイルを原本として保存しておいてください。

関連ツール