INI 解析器
解析 INI 文件中的节和键值对。所有处理在浏览器中完成。
解析后的JSON将在此显示...
如何使用 INI 解析器
输入 INI
在输入框中粘贴 INI 文件内容。
转换
点击转换按钮,将 INI 解析为 JSON。
查看结果
查看结构化的 JSON 结果并可复制。
什么是 INI 文件?
INI 文件是一种简单的配置文件格式,最初用于 Windows 系统。由节(section)和键值对组成,语法简单直观。PHP(php.ini)、Git(.gitconfig)等广泛使用 INI 格式。
INI结构
节
由 [section_name] 头表示,用于分组相关设置
键值对
在节内或全局的简单 key = value 赋值
注释
以 ; 或 # 开头的行被视为注释
常见问题
标准 INI 不支持嵌套。可以通过节名层级(如 [section.subsection])模拟简单的层级关系。
INI 值本质上是字符串。解析器会自动识别布尔值(true/false)和数字。
TOML 更现代,支持更多数据类型和嵌套。INI 更简单,兼容性更好。选择取决于项目需求。
经典的应用场景包括:php.ini(PHP 引擎的全部配置)、.gitconfig、Windows 上继承自 win.ini 的配置、Linux 上的 .desktop 条目,以及大量游戏和桌面应用。这种格式的根源可追溯到 20 世纪 60-70 年代,因此各处语法略有差异——节、key=value 和分号注释才是稳定的核心。
没有——一切都是字符串;类型只是消费方的约定。PHP 的 parse_ini_file() 会将 true/on/yes/1 和 false/off/no/0 转换为布尔值(这是官方文档化的行为),把形似数字的值转换为整数和浮点数,其余则保留为字符串。在 PHP 中给值加引号('1')可让它保持为字符串。本解析器按原样显示原始值。
[section] 开启一个节,其作用范围涵盖之后的所有键,直到下一个头部为止——php.ini 的 [PHP] 和 [mail function] 块就是这样工作的。嵌套是靠点号键(database.host = localhost)或形如 [database.pool] 的节名来模拟的,因为该格式本身只有一个层级。如果数据需要深层嵌套,说明你已经超出了 INI 的适用范围,应该改用 TOML 或 YAML。
基线格式几乎没有定义任何转义——值按字面读取,直到行尾。实际情况是:双引号用于分组包含空格的值,也是保留首尾空白的唯一可移植方式;${VAR} 插值在某些实现中存在(比如 systemd),在其他实现中则没有;而 ; 和 # 是否能在行中开启注释,取决于具体的解析器。
.env 是 INI 的扁平子集:KEY=value 行、没有节,由十多种语言中的 dotenv 库按照 12-Factor App 配置方法论读取。INI 文件依赖节,由特定应用程序读取,而非遵循通用约定。.env 中的值几乎总是被注入环境变量的字符串,而 INI 的消费方则常常应用各自的类型规则。
相关工具
权威参考资料
本工具所依据的一手资料 - 官方标准与规范,而非二手摘要。