INIからJSON変換における重複キーの処理
INIファイルの重複キーを処理する2つの戦略を学びます:「最後が優先」(標準動作)と「配列として」(複数の値を収集)。
Comments & Edge Cases
詳細な説明
INIファイルの重複キー
INIスタイルの設定ファイルの中には、リストを表現するために同じセクション内で重複キーを使用するものがあります。コンバーターはこれを処理するための2つの戦略を提供します。
INIの例
[dns]
nameserver=8.8.8.8
nameserver=8.8.4.4
nameserver=1.1.1.1
[allowed_hosts]
host=web1.example.com
host=web2.example.com
host=web3.example.com
戦略1:最後が優先(デフォルト)
標準的なINIの動作 — キーが複数回出現した場合、最後の値のみが保持されます。
{
"dns": { "nameserver": "1.1.1.1" },
"allowed_hosts": { "host": "web3.example.com" }
}
戦略2:配列として
重複キーのすべての値が順序を保持してJSON配列に収集されます。
{
"dns": { "nameserver": ["8.8.8.8", "8.8.4.4", "1.1.1.1"] },
"allowed_hosts": { "host": ["web1.example.com", "web2.example.com", "web3.example.com"] }
}
ユースケース
DNSリゾルバ設定、Sambaサーバー設定、または繰り返しキーが値のリストを表す設定を解析し、JSON出力で配列として保持する必要がある場合。