JSONをYAMLに変換
JSONを、Kubernetes、Docker Compose、CIパイプライン向けの読みやすいYAMLに。すばやく、データを外に出さずに変換できます。
JSONをYAMLにオンラインで変換
JSONはAPIが返し、プログラムが書き出す形式です。一方、YAMLは人が編集する形式です。Kubernetesマニフェスト、Docker Composeファイル、GitHub Actionsのワークフロー、AnsibleのプレイブックはどれもYAMLなので、ドキュメントやAPIレスポンスから取ったJSONの断片は、使う前に書き直さなければならないことがよくあります。このページは、入力をJSON、出力をYAMLに設定したJSON変換ツールです。
変換はページ内で即座に行われます。ホスト名、トークン、パスワードを含む設定ファイルでは、この点が重要です。
2つの形式の違い
| JSON | YAML |
|---|---|
{"port": 8080} | port: 8080 |
["a", "b"] | 1行に1つの- item |
| 波括弧と角括弧で入れ子を表す | インデントで入れ子を表す |
| コメントなし | コメントは#で始まる |
インデント
YAMLはインデントに敏感で、プロジェクトごとに幅がひとつに決まっていることが多いものです。「インデント」メニューでは1階層あたりスペース2つか4つを選べます。KubernetesやComposeのファイルでは2つが最も一般的です。YAMLではインデントにタブが使えないため、出力がYAMLのときは「タブ」を選んでもスペース2つで書き出されます。
引用符が必要な文字列
YAMLで最もやっかいなのは暗黙の型付けです。古いYAML 1.1のパーサーでは、裸のnoはfalse、1.10は数値の1.1、2024-01-01は日付になります。国コードやバージョン番号が、こうして知らないうちに型を変えてしまうことがあります。このツールは誤読されかねない文字列をすべて引用符で囲むため、JSONの"no"はYAMLでも文字列のnoのままです。
逆向きに変換するには
YAMLファイルをJSONに戻すにはYAMLをJSONに変換を使うか、このページの入れ替えボタンを押してください。ドキュメントではなく表が欲しいときは、JSONをCSVに変換がレコードを列に平坦化します。