使い方
- 左側に JSON を貼り付けるか、「サンプルを読み込む」をクリックします。
- インデントをスペース 2 個か 4 個から選びます。入力と同時に YAML が表示されます。
- JSON が無効な場合は、エラーが発生した行が表示されます。
- YAML をコピーまたはダウンロードします。「変換の向きを入れ替え」をクリックすると、YAML から JSON に戻せます。
オプションの説明
- インデント
- Kubernetes、Compose、GitHub Actions ではスペース 2 個が慣例です。4 個を使うチームもあります。
- 引用符
- 値を引用符で囲むのは必要な場合だけです。たとえば「: 」を含む文字列、特殊文字で始まる文字列、そのままでは数値・真偽値・null と解釈される文字列(「yes」「on」「1.0」など)が該当します。
- 長い文字列
- 行は折り返さないため、URL や証明書のような長い値も 1 行のまま保たれ、差分がきれいに取れます。
変換例
JSON:
{"apiVersion":"v1","kind":"Service","metadata":{"name":"web"},"spec":{"ports":[{"port":80,"targetPort":8080}]}}
YAML:
apiVersion: v1
kind: Service
metadata:
name: web
spec:
ports:
- port: 80
targetPort: 8080
よくある質問
YAML は JSON の上位互換ですか?
YAML 1.2 以降、ほぼすべての JSON ドキュメントはそのまま有効な YAML でもあります。ブロック形式の YAML に変換すると構造が読みやすく編集しやすくなり、JSON にはないコメントも書けるようになります。
出力で一部の文字列が引用符で囲まれるのはなぜですか?
引用符がないと YAML では意味が変わってしまうためです。YAML 1.1 のパーサーでは「on」「yes」「no」が真偽値になり、「1e3」は数値になり、「: 」を含む値は新しいマッピングの始まりと解釈されます。引用符で囲むことで値は文字列のまま保たれます。
キーの順序は保たれますか?
はい。キーは入力した JSON と同じ順序で出力されます。
データはアップロードされますか?
いいえ。解析も変換もブラウザ内で行われます。ホスト名やトークン、認証情報を含む設定ファイルを扱う場合に安心です。
プライバシー
このツールはすべてブラウザ内で動作します。ファイルやテキストはお使いの端末上で処理され、当サイトのサーバーにアップロードされることはありません。