何ができるか
このツールは YAML を JSON に、JSON を YAML に変換します。YAML は手で読み書きしやすいため、設定ファイル(Kubernetes、Docker Compose、GitHub Actions、OpenAPI 仕様)で広く使われています。一方、ほとんどのプログラム、API、ブラウザが扱うのは JSON です。相互に変換すれば、設定を検証したり、スクリプトに渡したり、API レスポンスを読みやすい設定ファイルにしたりできます。
使い方
- 入力 欄に YAML を貼り付けるか、
.yamlや.ymlファイルをドロップするか、サンプル をクリックします。 - 入力に合わせて右側に JSON が表示されます。インデントはスペース 2 つか 4 つを選べます。
- 逆方向に変換するには、変換方向 を JSON → YAML に切り替えます。長い文字列は折り返されないので、値は 1 行のまま保たれます。
- 結果をコピーまたはダウンロードします。
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 でコメントを表現できないため削除されます。