基本的な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
変換時の主な違い:
- 波括弧が不要になる。 YAMLは
{}の代わりにインデントで構造を定義します。 - クォートが省略可能。 YAMLでは特殊文字を含まない文字列にクォートは不要です。JSONはすべてのキーと文字列値にダブルクォートが必要です。
- コロンでキーと値を分離。 両形式とも
:を使用しますが、YAMLではコロンの後にスペースが必要です。 - エントリ間のカンマが不要。 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を優先するツールに移行する際に使用します。