基本的なTOML→JSON変換
TOMLからJSON形式への変換の基礎を学びます。TOMLのキーと値のペア、文字列、数値がJSONでどのように表現されるかを、わかりやすい例とともに解説します。
TOML Basics
詳細な説明
TOMLからJSONへの変換は、TOMLベースの設定ファイルをJSON入力を期待するシステムと統合する際によく行われるタスクです。TOML(Tom's Obvious, Minimal Language)は最小限の構文で読みやすいように設計されており、JSONオブジェクト(ハッシュテーブル)にきれいにマッピングされます。
シンプルなTOMLドキュメント:
name = "devtoolbox"
version = "1.0.0"
private = true
port = 3000
JSONに変換すると:
{
"name": "devtoolbox",
"version": "1.0.0",
"private": true,
"port": 3000
}
変換時の主な違い:
- 等号がコロンに変わる。 TOMLはキーと値の区切りに
=を使用し、JSONは:を使用します。 - JSONではすべてのキーがクォートされる。 TOMLのキーはデフォルトでベア(クォートなし)ですが、JSONはすべてのキーにダブルクォートが必要です。
- TOMLではエントリ間のカンマが不要。 各キーと値のペアは独自の行に配置されます。JSONではプロパティ間にカンマが必要です。
- 波括弧がJSONオブジェクトを囲む。 TOMLのトップレベルは暗黙的にテーブル(オブジェクト)ですが、JSONでは明示的な
{}が必要です。
データ型は保持される:
- TOML
"hello"(文字列)はJSONでもそのまま"hello" - TOML
42(整数)はJSONでもそのまま42 - TOML
3.14(浮動小数点)はJSONでもそのまま3.14 - TOML
true(ブーリアン)はJSONでもそのままtrue
YAMLとは異なり、TOMLは厳密で曖昧さのない型システムを持っています。暗黙的な型変換はありません。true は常にブーリアン、"true" は常に文字列であり、クォートなしの裸の単語が文字列値になることはありません。これにより、TOMLからJSONへの変換は非常に予測可能で安全です。
ユースケース
デプロイメントパイプラインやランタイムがJSON設定を期待する場合に、シンプルなアプリケーション設定ファイルをTOMLからJSONに変換する。Rustプロジェクトのconfig.tomlからJSONベースのマイクロサービス設定への移行などが例です。