INIブーリアン値のJSON変換:true/false、yes/no、on/off

INIのブーリアンスタイルの値(true、false、yes、no、on、off)が変換時にJSONブーリアン型に自動変換される仕組みを理解します。

Sections

詳細な説明

ブーリアン値の型変換

INIファイルではブーリアン値にさまざまな表現が一般的に使用されます。最も一般的な規約では、trueyesonを真、falsenooffを偽として扱います。

INIの例

[features]
enable_logging=true
verbose_mode=yes
auto_update=on
maintenance_mode=false
debug_panel=no
telemetry=off

生成されるJSON

{
  "features": {
    "enable_logging": true,
    "verbose_mode": true,
    "auto_update": true,
    "maintenance_mode": false,
    "debug_panel": false,
    "telemetry": false
  }
}

変換リファレンス

INI値 JSON値 備考
true true 大文字小文字を区別しない
yes true systemd、Apache設定で一般的
on true php.iniで一般的
false false 大文字小文字を区別しない
no false SSH config、Git configで一般的
off false php.iniで一般的
1 1(数値) ブーリアンに変換されない
0 0(数値) ブーリアンに変換されない

型変換の防止

ブーリアンに似た単語を文字列として保持する必要がある場合は、値を引用符で囲みます:answer="yes"。引用符付きの値は型変換をバイパスします。

ユースケース

php.iniやsystemdユニットファイルのOn/Offやyes/noなどのブーリアンスタイルの値を、AnsibleやTerraformなどの設定管理ツールで使用するためにJSONブーリアンとして適切に表現する場合。

試してみる — INI \u2194 JSON Converter

フルツールを開く