INIファイルのインラインコメントの処理
キー・バリュー行の末尾のインラインコメント(;または#の後のテキスト)がINIからJSON変換時にどう処理されるかを理解します。
Comments & Edge Cases
詳細な説明
INIのインラインコメント
フルラインコメントとは異なり、インラインコメントはキー・バリュー行の末尾に、空白に続く;または#で記述されます。コンバーターは解析中にこれらを値から除去します。
INIの例
[server]
host=0.0.0.0 ; すべてのインターフェースでリッスン
port=8443 # HTTPSポート
workers=4 ; CPUコアごとに1つ
timeout=30 ; 秒
[paths]
data="/var/lib/app;data" ; 引用符内のセミコロンはコメントではない
cache_dir=/tmp/cache # 再起動時にクリア
生成されるJSON
{
"server": {
"host": "0.0.0.0",
"port": 8443,
"workers": 4,
"timeout": 30
},
"paths": {
"data": "/var/lib/app;data",
"cache_dir": "/tmp/cache"
}
}
インラインコメントの解析ルール
- パーサーは値の引用符なし部分で空白に続く
;または#を探します - コメントマーカーから行末までのすべてが除去されます
- 引用符付き値内のセミコロンやハッシュはコメントとして扱われません
- 除去後に残った末尾の空白はトリムされます
ユースケース
管理者が個々の設定にインラインドキュメントを追加したサーバーやアプリケーションの設定ファイルを解析し、デプロイメント自動化パイプラインで使用するために実際の値のみを抽出する場合。