YAML と JSON を相互変換(型ルール・複数ドキュメント対応)

ブラウザ内で YAML と JSON を相互変換します。手順:向きを選び、設定を貼り付け、必要なら JSON安全な型を有効にしてからコピーまたはダウンロード。--- で区切った複数ドキュメントは JSON 配列になります。例:短いサービス定義をインデント付き JSON にして API クライアントへ — 貼り付けは端末内に留まります。


      

使い方

YAML → JSON か JSON → YAML を選びます。変換はこのタブ内の js-yaml で行います。--- 区切りの複数ドキュメントは JSON 配列になり、単一ドキュメントはそのまま1つの JSON 値です。YAML のエラーは、パーサが mark を返すとき行と列を示します。

押さえておくルール

変換時に想定できること:引用符なしの値の型の決まり方、複数ドキュメント YAML が JSON にどう対応するか、往復変換でコメントや書式が失われる箇所。

  • 型付け:DEFAULT スキーマでは、引用なしの yes/no/on/off や日付っぽいスカラーが boolean などになることがあります。JSON安全スキーマは、明示型がなければ引用なしスカラーを文字列のままにします。
  • 複数ドキュメント:loadAll — 1件ならその JSON 値、2件以上なら配列。先頭だけ残して残りを黙って捨てることはしません。
  • 往復で失うもの:コメントは消えます(JSON にコメントはない)。アンカー/エイリアスは展開されて値が重複します。dump 後はキー順やスタイルが変わることがあります。
  • プライバシー:貼り付けはアップロードされません。CDN から js-yaml を取るのはライブラリコードの取得だけで、設定本文は送りません。

YAML の `名前: demo` とリスト `項目: [a, b]` は JSON `{"名前":"demo","項目":["a","b"]}` になります。JSON `{"title":"こんにちは","count":2}` はインデント付き YAML に dump されます。境界:裸の `flag: yes` は DEFAULT では boolean true;JSON安全な型をオンにすると文字列 "yes" のままです。

こんなときに

  • DevOps:--- 区切りの Kubernetes 複数リソース YAML をスクリプト用の JSON 配列にする。
  • 開発:API の JSON ペイロードを手編集しやすい YAML に直してから設定を直す。
  • データ/AI パイプライン:人が書いた YAML パラメータと、JSON しか受けないツールをつなぐ。

Frequently asked questions

貼り付けはブラウザの外へ出ますか?

変換はこのタブ内です。CDN が js-yaml を配信することがありますが、それはコードのダウンロードだけで、YAML/JSON 本文のアップロードではありません。

引用なしの yes や no は boolean になりますか?

既定の js-yaml スキーマではよくなります。引用なしの yes/no/on/off が boolean になることがあります。「JSON安全な型」を入れると、明示型がない限り文字列のままです。

往復で何も失わずに戻せますか?

いいえ。コメントは JSON 側に残りません。アンカーは繰り返し値に展開されます。JSON から YAML へ dump しても元のコメントやアンカー名は戻りません。

複数ドキュメントの YAML はどう扱いますか?

--- で区切られた文書は loadAll で解析します。1件なら1つの JSON 値、2件以上なら配列です。先頭以降を捨てることはしません。

エラーの行番号はどこから?

不正な YAML は、利用可能ならパーサの mark(行・列)を出します。不正な JSON は JSON.parse の報告で、YAML 風の mark はありません。

References