DevToolPal
日本語

YAML を JSON に変換

YAML を JSON に、JSON を YAML に変換します。アンカー、複数ドキュメントのファイルに対応し、エラー位置も正確に表示します。

ローカルで処理、アップロードなし

オプション

変換方向
インデント

入力

0 文字 · 0 B

出力

0 文字 · 0 B

何ができるか

このツールは YAML を JSON に、JSON を YAML に変換します。YAML は手で読み書きしやすいため、設定ファイル(Kubernetes、Docker Compose、GitHub Actions、OpenAPI 仕様)で広く使われています。一方、ほとんどのプログラム、API、ブラウザが扱うのは JSON です。相互に変換すれば、設定を検証したり、スクリプトに渡したり、API レスポンスを読みやすい設定ファイルにしたりできます。

使い方

  1. 入力 欄に YAML を貼り付けるか、.yaml や .yml ファイルをドロップするか、サンプル をクリックします。
  2. 入力に合わせて右側に JSON が表示されます。インデントはスペース 2 つか 4 つを選べます。
  3. 逆方向に変換するには、変換方向 を JSON → YAML に切り替えます。長い文字列は折り返されないので、値は 1 行のまま保たれます。
  4. 結果をコピーまたはダウンロードします。

YAML が無効な場合は、エラーに行と列が表示され、クリックするとカーソルがその位置に移動します。よくある誤りは、インデントの不一致、インデントへのタブの使用、コロンの後のスペースの欠落、同じマッピング内の重複キーです。

例

name: devtools
ports:
  - 80
  - 443
database:
  host: db.internal

は次のようになります。

{
  "name": "devtools",
  "ports": [80, 443],
  "database": { "host": "db.internal" }
}

YAML について知っておきたいこと

YAML は引用符のない値から型を推測します。3 は数値、true は真偽値、null と ~ は null を意味し、1.2.0 は有効な数値ではないので文字列のままです。"01234" のような郵便番号など、テキストのままにしたい値は引用符で囲みましょう。アンカー(&name)とエイリアス(*name)を使うとブロックを再利用でき、変換時には JSON 内で完全なコピーに展開されます。| で書いたブロックスカラーは改行を保持し、> は複数の行を 1 つの段落にまとめます。

よくある質問

› YAML はサーバーに送信されますか?

いいえ。YAML パーサーはブラウザ内で動作するので、Kubernetes のマニフェスト、CI パイプライン、秘密情報を含む設定ファイルが端末の外に出ることはありません。

› どの YAML バージョンに対応していますか?

現行の標準である YAML 1.2 です。アンカーとエイリアス、ブロック形式とフロー形式のコレクション、複数行文字列、コメントに対応しています。

› 複数のドキュメントを含むファイルはどうなりますか?

`---` で区切られたドキュメントは、ドキュメントごとに 1 要素の JSON 配列に変換されます。末尾の `---` の後の空のドキュメントは無視されます。

› JSON から YAML に変換するとき、コメントは残りますか?

JSON にはコメントがないので、残すものがありません。YAML から JSON に変換するときは、JSON でコメントを表現できないため削除されます。