ドット記法のネストされたINIセクションを深いJSONに変換する
セクション名にドット記法を使用するINIファイル(例:[section.subsection])を処理し、深くネストされたJSONオブジェクト階層を作成します。
Basic Conversion
詳細な説明
深いネストのためのドット記法
一部のINIファイルは、階層的な設定を表現するためにセクション名にドット記法を使用します。例えば、[database.primary]と[database.replica]は両方ともdatabase親の下にネストされたオブジェクトを作成します。
INIの例
[app]
name=MultiDB Service
version=3.0
[database.primary]
host=db-primary.example.com
port=5432
ssl=true
[database.replica]
host=db-replica.example.com
port=5432
ssl=true
readonly=true
[database.pool]
min=5
max=20
idle_timeout=30000
生成されるJSON
{
"app": {
"name": "MultiDB Service",
"version": 3
},
"database": {
"primary": {
"host": "db-primary.example.com",
"port": 5432,
"ssl": true
},
"replica": {
"host": "db-replica.example.com",
"port": 5432,
"ssl": true,
"readonly": true
},
"pool": {
"min": 5,
"max": 20,
"idle_timeout": 30000
}
}
}
深いネストの仕組み
コンバーターはセクション名をドットで分割し、各セグメントにネストされたオブジェクトを作成します:
[a]→{ "a": { ... } }[a.b]→{ "a": { "b": { ... } } }[a.b.c]→{ "a": { "b": { "c": { ... } } } }
親セクション(例:[database])が明示的に宣言されていなくても、コンバーターは子を保持するために親オブジェクトを作成します。
ユースケース
データベース接続プール(primary/replica/pool)やロギング設定など、設定を階層的に整理する複雑なアプリケーション設定を扱う場合。