📑 YAML⇄JSON変換

YAML入力
JSON出力

一般的な構文のサブセットに対応した簡易コンバーターです。複雑なYAML機能には対応していません。

YAMLとJSONを相互に変換できるツールです。設定ファイルの形式を変えたい場合や、どちらの形式で書くか迷った際の確認に便利です。Kubernetesマニフェストやdocker-compose.yml、CI設定ファイルの内容確認にも活用できます。

使い方

  1. 「YAML → JSON」または「JSON → YAML」のモードを選びます。
  2. 入力欄に変換したいYAMLまたはJSONを貼り付けます。
  3. 「変換」ボタンを押すと、もう一方の形式で結果が表示されます。
  4. 「コピー」ボタンで結果をクリップボードにコピーします。

計算の仕組み

YAMLは、インデント(字下げ)で階層構造を表す設定ファイル向けの形式です。JSONと同じデータ(オブジェクト・配列・文字列・数値・真偽値・null)を表せるため、相互に変換できます。「key: value」がオブジェクト、行頭の「- 」が配列の要素にあたります。 このツールは軽量な独自パーサーで変換しています。引用符で囲まれていない値は、次の規則で型を判定します。true・false(先頭大文字も可)は真偽値、null・~・空欄はnull、整数や小数の形をした値は数値、それ以外は文字列です。yes・no・on・offは文字列のまま扱います。これはYAML 1.2の考え方で、古いYAML 1.1ではこれらが真偽値として扱われていたため、国コードの「NO」(ノルウェー)が false になってしまう、といった問題が知られていました。 数値の判定には注意が必要です。バージョン番号の「1.10」は数値として読まれ、1.1 に変わってしまいます。文字列として残したい値は引用符で囲んでください。

計算例

次のYAMLを変換した場合 name: app version: 1.10 enabled: yes country: NO ports: - 80 - 443 変換結果のJSON {"name": "app", "version": 1.1, "enabled": "yes", "country": "NO", "ports": [80, 443]} version が 1.10 から 1.1 に変わっている点に注意してください。version: "1.10" と引用符で囲めば、文字列のまま残ります。

使用上の注意

  • アンカー(&)・エイリアス(*)・複数ドキュメント・複数行の文字列(| や >)などの高度な機能には対応していません。
  • 「1.10」のようなバージョン番号は数値として解釈されます。文字列として扱いたい値は引用符で囲んでください。
  • YAMLのコメントはJSONに変換すると失われます。
  • インデントにタブ文字は使えません。スペースでインデントしてください。

よくある質問

コメント付きのYAMLも変換できますか?

YAML→JSON変換の場合、JSON自体にコメント機能がないため、コメントは変換結果に含まれません。

どちらの形式でも入力できますか?

はい。YAML→JSON、JSON→YAMLの両方向に変換できます。

Kubernetesのマニフェストファイルの確認にも使えますか?

はい。YAML形式のマニフェストをJSONに変換すると、構造をより明確に確認できる場合があります。ただし複雑なYAML機能(アンカーなど)には対応していません。

変換に失敗する場合は?

入力が正しいYAML/JSON構文でない場合、変換エラーが表示されます。インデントや引用符の対応などを確認してください。

入力した内容はサーバーに送信されますか?

いいえ、変換処理はすべてブラウザ内で行われ、外部に送信されることはありません。