JSON変換時のINIコメントの保持

INIコメント(;または#で始まる行)をJSONの特別なキーとして保持し、INIに戻す際に復元する方法を学びます。

Comments & Edge Cases

詳細な説明

コメント保持の戦略

INIファイルには設定値のコンテキストを提供するコメントが頻繁に含まれます。JSONはネイティブにコメントをサポートしていないため、コンバーターは特別なキーとして保存する「Preserve Comments」オプションを提供しています。

INIの例

; データベース設定
; 更新日: 2024-01-15
[database]
; プライマリ接続
host=db.example.com
port=5432
# コネクションプール設定
max_connections=50

コメント保持あり

{
  "__comment_0": "データベース設定",
  "__comment_1": "更新日: 2024-01-15",
  "database": {
    "__comment_2": "プライマリ接続",
    "host": "db.example.com",
    "port": 5432,
    "__comment_3": "コネクションプール設定",
    "max_connections": 50
  }
}

コメント保持の仕組み

  1. 各コメント行は連番キー(__comment_0__comment_1など)で保存されます
  2. ;#プレフィックスは除去され、コメントテキストのみが保存されます
  3. コメントは現在のスコープに関連付けられます
  4. INIに戻す際、__comment_*キーは; コメントテキスト行として出力されます

ユースケース

INIファイルをJSONに解析してプログラム的に変更(値の追加や変更)し、元のドキュメントコメントを保持したままINI形式に書き戻す設定管理の自動化。

試してみる — INI \u2194 JSON Converter

フルツールを開く