基本的なJSON→YAML変換

JSONからYAML形式への変換の基礎を学びます。JSONのオブジェクト、文字列、数値がYAMLでどのように表現されるかを、わかりやすい例とともに解説します。

Basics

詳細な説明

JSONからYAMLへの変換は、設定ファイルを扱う際に最もよく行われる作業の一つです。YAML(YAML Ain't Markup Language)は人間が読みやすいように設計されており、その構文はJSON構造にほぼ直接対応しているため、変換は簡単です。

シンプルなJSONオブジェクト:

{
  "name": "devtoolbox",
  "version": "1.0.0",
  "private": true
}

YAMLに変換すると:

name: devtoolbox
version: 1.0.0
private: true

変換時の主な違い:

  1. 波括弧が不要になる。 YAMLは {} の代わりにインデントで構造を定義します。
  2. クォートが省略可能。 YAMLでは特殊文字を含まない文字列にクォートは不要です。JSONはすべてのキーと文字列値にダブルクォートが必要です。
  3. コロンでキーと値を分離。 両形式とも : を使用しますが、YAMLではコロンの後にスペースが必要です。
  4. エントリ間のカンマが不要。 JSONではキーと値のペアの区切りにカンマを使用しますが、YAMLでは改行を使用します。

データ型は保持される:

  • JSON "hello"(文字列)はYAMLで hello になる
  • JSON 42(数値)はYAMLでもそのまま 42
  • JSON true(ブーリアン)はYAMLでもそのまま true
  • JSON null はYAMLでもそのまま null(または ~ と表記可能)

この変換はロスレスです。すべての有効なJSONドキュメントには正確なYAML等価物があり、逆変換で元のデータ構造を取得できます。これは、JSON が技術的にYAMLのサブセット(YAML 1.2以降)であるためです。

ユースケース

package.jsonやtsconfig.jsonファイルをYAML形式に変換する場合。プロジェクトの設定をYAMLベースのCI/CDパイプラインなどYAMLを優先するツールに移行する際に使用します。

試してみる — JSON ↔ YAML Converter

フルツールを開く