JSON YAML 変換 — JSONをYAMLにオンライン変換
JSONをYAMLに変換(インデント選択・キーの並べ替え・エラー位置表示)
ブラウザー内で処理・アップロード不要
JSON→YAML変換とは
YAMLは人が読み書きしやすいように作られた設定ファイルの形式で、KubernetesのマニフェストやGitHub Actions、Docker Composeなど多くのツールで使われています。APIのレスポンスやJSONの設定をYAMLにしたいときは、ここに貼り付けてください。貼り付けるとすぐに結果が表示されます。
使い方
- 入力欄にJSONを貼り付けます。
- インデントをスペース2つか4つから選びます。YAMLのツールの多くは慣習としてスペース2つを使います。
- すべての階層でキーをアルファベット順にしたい場合は、「キーを並べ替え」をオンにします。
- 結果をコピーします。JSONにエラーがあれば、その行と列が表示されます。
仕組み
- 入力はRFC 8259に準拠した厳密なJSONです。出力はjs-yamlライブラリーで生成し、YAML 1.2のcoreスキーマと互換性のある形にします。
true、null、123、007のように別の型として読まれうる文字列には自動でクォートを付けるので、往復しても型が変わりません。- 日本語・中国語・絵文字などの文字はエスケープせず、そのまま出力します。
- 自動の折り返しはオフです。同じ値が何度も出てくる場合も、アンカーとエイリアス(
&、*)は使わず、毎回そのまま書き出します。 - 空の配列は
[]、空のオブジェクトは{}と出力します。文字列や数値など、トップレベルがスカラー値でも変換できます。 - 2^53を超える整数は入力を読み込んだ時点で丸められるため、警告を表示します。
例
入力:
{"name":"app","ports":[80,443],"owner":{"名前":"山田太郎"},"debug":false,"version":"1.0"}
結果:
name: app
ports:
- 80
- 443
owner:
名前: 山田太郎
debug: false
version: '1.0'
よくある質問
YAMLをJSONに戻すと同じデータになりますか?
構造と値は同じに戻ります。"true"や"123"のように別の型として読まれうる文字列にはクォートを付けるので、文字列のまま保たれます。キーの順番は、キーの並べ替えをオンにしない限りそのままです。
長い文章は複数行に折り返されますか?
いいえ。折り返しはオフにしてあるので、文字列は途中で分割されず1行のまま出力されます。改行を含む文字列は、YAMLのブロックスカラーで書かれることがあります。
JSONのエラーはどのように表示されますか?
構文が崩れている最初の文字の行と列を表示します。末尾のカンマやコメントなど、JSONで許可されていない書き方もエラーになります。
大きな整数もそのまま扱えますか?
入力はJavaScriptで読み込むため、9007199254740991(2^53-1)を超える整数は丸められます。その場合は警告が出るので、該当する数値は文字列にしてください。