JSON→YAML変換ツールとは?

JSON to YAML Converterは、JSONデータをより人間が読みやすいYAML形式に変換します。YAMLはDocker Compose、Kubernetes、CI/CDパイプラインなどの設定ファイルで広く使われています。ネストオブジェクト・配列・複数行の文字列を適切なYAML構文で処理します。

コンバーターは内部で js-yaml を使い、複数行文字列、アンカー、オブジェクトの配列を構造を保ったまま扱います。インデントは 2 か 4 スペース(多くの設定ファイルは 2)。フロー形式は短い配列を 1 行にまとめ([a, b, c])、ブロック形式は要素ごとに 1 行で書きます。バージョン管理で安定した出力を得るためのキー並べ替えオプションもあります。

使い方

  1. ステップ1 — JSONデータを貼り付けるか、.jsonファイルをアップロードします。変換前に不正なJSONが検出・ハイライトされます。
  2. ステップ2 — インデント幅(2または4スペース)を設定し、コンパクトな配列やインラインオブジェクトのフロースタイルオプションを選択します。
  3. ステップ3 — シンタックスハイライト付きのYAML出力を確認し、コピーするか設定ファイルで使用するための.yamlファイルとしてダウンロードします。

使用するタイミング

  • package.json や tsconfig.json の一部を CI ツールが期待する YAML 形式に翻訳するとき。
  • API レスポンスや雛形 JSON から Kubernetes マニフェストや Docker Compose ファイルを書き起こすとき。
  • 旧ツールの JSON 設定を、更新版で使う読みやすい YAML に乗り換えるとき。

結果

CIパイプラインのYAML設定にpackage.jsonを変換するケースです。JSONを貼り付けて2スペースインデントを設定すると、ネストされた依存関係が波括弧や引用符なしに明確に見えるきれいなYAML出力が得られます。

よくある質問

YAML は JSON を別の構文で書いたものに過ぎないのですか?
ほぼその通りです。YAML 1.2 は JSON のスーパーセットなので、有効な JSON はそのまま有効な YAML です。YAML はコメント、複数行文字列、アンカーとエイリアス、インデントによるレイアウトを追加します。純粋なデータなら相互に変換できます。
インデントは 2 スペースと 4 スペースのどちらが良いですか?
Kubernetes、Docker Compose、GitHub Actions、ほとんどの CI ツールは 2 スペースが慣例です。4 は深い入れ子のファイルで読みやすくなる場合もありますが少数派。チームの既存ファイルに揃えると diff が綺麗です。
フロー形式に切り替えるのはどんなとき?
フロー形式({a: 1, b: 2})は、ポート番号のリストのような短いプリミティブ配列に向いています。ブロック形式で 1 要素 1 行だと冗長に見える場合です。人が読み書きするものはブロック形式のままにしてください。
真偽値や数値に見える文字列はどうなりますか?
YAML の型推論は積極的で、'yes'、'no'、'on'、'1.0'、'null' は再解釈されます。コンバーターはこうした文字列を引用符で囲んで文字列のまま保持し、国コード NO が false に化ける有名な「ノルウェー」バグを避けます。
JSON → YAML → JSON と往復して情報が失われませんか?
純データなら構造は保たれます。失われるのは JSON にもともと無いコメントと、JSON パーサーが並べ替える可能性のあるキー順序です。両側でキー並べ替えオプションを有効にすれば順序が安定します。

関連ツール