INIセクションをネストされたJSONオブジェクトに変換する
[section]ヘッダー付きのINIファイルをネストされたJSONオブジェクトに変換します。各セクションはキー・バリューペアを含むトップレベルキーになります。
Basic Conversion
詳細な説明
セクションからネストされたオブジェクトへ
[section_name]で区切られたINIセクションは、ネストされたJSONオブジェクトに自然にマッピングされます。セクション名がルートオブジェクトのキーになり、そのセクション内のすべてのキー・バリューペアがネストされたオブジェクトのプロパティになります。
INIの例
[database]
host=127.0.0.1
port=5432
name=myapp_production
[redis]
host=127.0.0.1
port=6379
db=0
[logging]
level=info
file=/var/log/myapp.log
生成されるJSON
{
"database": {
"host": "127.0.0.1",
"port": 5432,
"name": "myapp_production"
},
"redis": {
"host": "127.0.0.1",
"port": 6379,
"db": 0
},
"logging": {
"level": "info",
"file": "/var/log/myapp.log"
}
}
セクションマッピングの仕組み
- 各
[section]ヘッダーはJSONに新しいネストされたオブジェクトを作成します - ヘッダーに続くキー・バリューペアはそのオブジェクト内に配置されます
- セクションヘッダーの前のキーはルートオブジェクトに入ります
- セクション名には文字、数字、ハイフン、アンダースコア、ドットを含めることができます
- セクション名の前後の空白はトリムされます
ユースケース
マルチセクション設定ファイル(データベース、キャッシュ、ロギングの各セクションを持つサービス設定など)を、マイクロサービスフレームワークで使用するJSONベースの設定システムに移行する場合。