ツール
JA

JSON YAML 変換ツール

JSON を貼り付けると、設定ファイル、Kubernetes のマニフェスト、CI パイプライン向けの読みやすい YAML に変換されます。変換方向を切り替えれば、YAML を JSON に変換することもできます。

JSON

YAML

プライバシー保護:データはお使いのブラウザ内で処理され、アップロードされることはありません。

JSON を YAML に変換する方法

  1. JSON を貼り付けるか、ファイルを開きます。入力に合わせて YAML が表示されます。インデントは 2 スペースまたは 4 スペースから選べます。
  2. 逆に変換するには、変換方向を YAML → JSON に切り替えて YAML を貼り付けます。
  3. 結果をコピーするか、.yaml または .json ファイルとしてダウンロードします。

JSON と YAML の違い

JSONYAML
構造波括弧 {} と角括弧 []インデントと - によるリスト項目
文字列常にダブルクォートで囲む必要な場合のみ引用符で囲む
コメント使用不可# comment
複数行のテキスト\n エスケープ| によるリテラルブロック
主な用途API とデータ交換設定ファイル

YAML 1.2 は JSON のスーパーセットなので、JSON ドキュメントはそのままでも有効な YAML です。このツールは、より読みやすいブロック形式で出力します。

YAML で引用符が必要な値

引用符なしで書くと型が変わってしまう単語があります。YAML 1.1 のパーサーでは yes、no、on、off は真偽値になり、007 や 1e3 は数値、null や ~ は null を意味します。これが有名な「ノルウェー問題」で、国コード NO を引用符で囲まないと false に変わってしまいます。このツールはこうした文字列を自動で引用符で囲むため、YAML を読み込み直してもまったく同じデータになります。

YAML → JSON 変換で対応している YAML

パーサーは、設定ファイルや API で使われる YAML を解釈できます。ブロック形式のマッピングとリスト、引用符なし・シングルクォート・ダブルクォートの文字列、| と > の複数行ブロック、インラインの [ ] と { } コレクション、コメント、--- ドキュメントマーカーに対応しています。アンカー(&)、エイリアス(*)、カスタムタグは非対応として行番号付きで報告されます。複数ドキュメントを含むファイルでは、最初のドキュメントだけが変換されます。

よくある質問

YAML は JSON のスーパーセットですか?

YAML 1.2 は JSON のスーパーセットとして設計されているため、ほぼすべての JSON ファイルは有効な YAML でもあります。逆は成り立ちません。YAML には、JSON にないコメント、アンカー、複数行ブロックがあります。

YAML を JSON に変換するとコメントは残りますか?

いいえ。JSON にはコメントがないため、削除されます。キー、値、およびその順序は保持されます。

YAML がエラーになるのはなぜですか?

よくある原因は、インデントにタブを使っている(YAML ではスペースのみ使用可)、同じリストやマッピングの項目が同じ列から始まっていない、コロンの後にスペースがない、といったものです。エラーメッセージに該当する行が表示されます。

YAML の値は JSON でどの型になりますか?

YAML 1.2 のコアスキーマに従います。true/false は真偽値に、null と ~ は null に、引用符なしの数値は JSON の数値になります。一方、yes のような単語は文字列のままです。"007" のようなコードをテキストとして残すには、YAML で引用符で囲んでください。