INI 設定ファイルを JSON に変換する
INI ファイルは括弧で囲んだセクションと key=value ペアを使います。JSON に変換して、プログラムからのアクセス、バリデーション、モダンツールとの相互運用を実現します。
- 1
INI 形式:[section] ヘッダー、key=value ペア、; または # のコメント。Windows と Python で一般的なレガシー設定形式です。JSON に変換すると、スキーマ検証、プログラムによる変更、JSON を期待するモダンなツールでの利用が可能になります。
- 2 TOML コンバーター →
INI ファイル(INI は TOML 構文のサブセット)をパースして JSON に変換します。セクションはネストされたオブジェクトになり、key=value ペアはオブジェクトのプロパティになります。引用符付きの値は文字列、引用符なしの数値は数値としてパースされます。
- 3 JSON フォーマッター →
変換された JSON を読みやすさのためにフォーマットします。INI ファイルはスペースや引用が不統一なことが多く、フォーマットで出力が正規化されます。セクションとキーが正しく JSON 構造にマッピングされたことを確認してください。
- 4
INI の制限:ネストセクションなし(1 レベルのみ)、配列なし、型情報なし(すべて文字列)。これらの機能が必要な場合は、INI ではなく TOML または YAML に移行してください。JSON への変換は一方通行の移行であり、今後は JSON または TOML を使ってください。
よくある質問
- INI にネストセクションは使えますか?
- 標準の INI はネストをサポートしません。一部の実装(Python configparser)は [section.subsection] を許可しますが、これはネストされたオブジェクトではなくフラットなキーを作るだけです。ネストが必要なら TOML、YAML、JSON を使ってください。
- 重複キーはどう扱われますか?
- パーサによります。最後の値を取るもの、エラーを出すもの、配列を作るものがあります。この曖昧さが INI の弱点です。JSON では重複キーは未定義動作とされていますが(ほとんどのパーサは最後の値を取る)、この問題は基本的にありません。
このタスクを解決するワークフロー
JSON 経由で 2 つの YAML 設定を比較
構造化された値の差分比較しやすいように、YAML 設定を JSON に変換する。 パイプライン
URL 転送用の JSON ペイロードのエンコード
JSON ドキュメントを URL パラメータ用に準備する: 整形、Base64 エンコード、パーセントエンコード — ネストされたパラメータデコードチェーンの正確な逆順。 パイプライン
HJSON から JSON フォーマットへ変換
HJSON をフォーマットし、標準 JSON に変換する。 パイプライン
JSON フォーマットと整合性チェックサム計算
JSON ドキュメントを整形し、以降の変更を検出するために CRC32 チェックサムを計算する。 パイプライン
JSON のミニファイと検証
検査のために JSON をフォーマットし、1 パスで構文的に正しいことを検証する。 パイプライン
JSON フォーマットと TypeScript インターフェース生成
JSON ドキュメントをフォーマットし、1 チェーンで TypeScript インターフェース定義を推論する。 パイプライン
検証、フォーマット後 JSON から YAML へ変換
(ミニファイの可能性がある)JSON 設定を YAML に変換し、微妙に誤った YAML を生成成する代わりに最初のノードで構文エラーを捕捉する。 パイプライン
JSON5 から JSON フォーマットへ変換
JSON5 をフォーマットし、標準 JSON に変換する。 パイプライン
JSONC から JSON フォーマットへ変換
JSONC(コメント付き JSON)をフォーマットし、標準 JSON に変換する。 パイプライン
JWT ペイロードのデコードとフォーマット
JWT トークンを解析し、ペイロードを抽出し、検査のために JSON をフォーマットする。 パイプライン
クエリ文字列解析と JSON フォーマット
クエリ文字列をキー・バリューペアに解析し、その後 JSON としてフォーマットする。 パイプライン
TOML から JSON へ変換
TOML 設定ファイルを JSON 入力を期待するツールや API のために解析する。 パイプライン
TOML から JSON を経て CSV へ変換
TOML を JSON に変換し、その後データエクスポートのために CSV に変換する。 パイプライン
TOML から JSON を経て YAML へ変換
TOML 設定を JSON 経由で YAML に変換し、Kubernetes や CI ツールに適用する。 パイプライン
JSON 経由で TOML から YAML へ変換
TOML 設定ファイルを YAML 形式に変換し、JSON を中間表現として使用する。 パイプライン
ネストされた URL パラメータのデコード(Base64 JSON)
URL エンコード Base64 JSON を運ぶ URL パラメータを可読なフォーマット済み JSON に展開する。 パイプライン
YAML から TypeScript インターフェースを生成
YAML ドキュメントを TypeScript インターフェース定義に変換し、JSON を中間フォーマットとして使用する。 パイプライン