INI設定をモダンツール向けJSONへ移す

レガシーアプリの設定はINI、新しいサービスはJSONを要求。セクションをネストしたオブジェクトへ打ち直さず変換します。

このガイドで使う道具

やりたいこと

[database] host = localhost形式のファイルはJSONへ素直に写像できます — ただしドット付きセクション・キーの重複・値の型付けには移行前に知るべき規則があります。

変換して形を確認

INIを貼り、INI→JSONを実行します。[a.b]はネストしたオブジェクトに、数字・真偽値らしい値は型付けされ(port = 5432 → 5432)、重複キーは最後の値を採用します。

  • コメント(# / ;)は残りません — 必要なら_noteフィールドとしてJSONへ移してください。
  • 逆方向はネストしたオブジェクトをドット付きセクション名に平坦化します。

目で確認すべき端

引用符付き値は引用符を失います("…"内の \" \\ \n \r \t は復元されます)。数字に見える値は数値になります(version = 1.10 → 1.1 — 文字列として必要ならINI側で先に引用)。セクションの重複はエラーではなくマージされます。→INI方向ではINIで表現できないキー(改行・=・行頭のコメント記号など)は;コメント付きでスキップします。