INI 解析器

解析 INI 文件中的节和键值对。所有处理在浏览器中完成。

即时解析 节支持 客户端处理
解析后的JSON将在此显示...

如何使用 INI 解析器

1

输入 INI

在输入框中粘贴 INI 文件内容。

2

转换

点击转换按钮,将 INI 解析为 JSON。

3

查看结果

查看结构化的 JSON 结果并可复制。

什么是 INI 文件?

INI 文件是一种简单的配置文件格式,最初用于 Windows 系统。由节(section)和键值对组成,语法简单直观。PHP(php.ini)、Git(.gitconfig)等广泛使用 INI 格式。

INI结构

节

由 [section_name] 头表示,用于分组相关设置

键值对

在节内或全局的简单 key = value 赋值

注释

以 ; 或 # 开头的行被视为注释

常见问题

INI 文件支持嵌套吗?

标准 INI 不支持嵌套。可以通过节名层级(如 [section.subsection])模拟简单的层级关系。

值支持哪些数据类型?

INI 值本质上是字符串。解析器会自动识别布尔值(true/false)和数字。

INI 和 TOML 哪个更好?

TOML 更现代,支持更多数据类型和嵌套。INI 更简单,兼容性更好。选择取决于项目需求。

INI 格式实际用在哪些地方?

经典的应用场景包括:php.ini(PHP 引擎的全部配置)、.gitconfig、Windows 上继承自 win.ini 的配置、Linux 上的 .desktop 条目,以及大量游戏和桌面应用。这种格式的根源可追溯到 20 世纪 60-70 年代,因此各处语法略有差异——节、key=value 和分号注释才是稳定的核心。

INI 的值有类型吗?

没有——一切都是字符串;类型只是消费方的约定。PHP 的 parse_ini_file() 会将 true/on/yes/1 和 false/off/no/0 转换为布尔值(这是官方文档化的行为),把形似数字的值转换为整数和浮点数,其余则保留为字符串。在 PHP 中给值加引号('1')可让它保持为字符串。本解析器按原样显示原始值。

INI 文件中的节和嵌套键是如何工作的?

[section] 开启一个节,其作用范围涵盖之后的所有键,直到下一个头部为止——php.ini 的 [PHP] 和 [mail function] 块就是这样工作的。嵌套是靠点号键(database.host = localhost)或形如 [database.pool] 的节名来模拟的,因为该格式本身只有一个层级。如果数据需要深层嵌套,说明你已经超出了 INI 的适用范围,应该改用 TOML 或 YAML。

INI 如何处理特殊字符和转义?

基线格式几乎没有定义任何转义——值按字面读取,直到行尾。实际情况是:双引号用于分组包含空格的值,也是保留首尾空白的唯一可移植方式;${VAR} 插值在某些实现中存在(比如 systemd),在其他实现中则没有;而 ; 和 # 是否能在行中开启注释,取决于具体的解析器。

INI 文件与 .env 文件有什么区别?

.env 是 INI 的扁平子集:KEY=value 行、没有节,由十多种语言中的 dotenv 库按照 12-Factor App 配置方法论读取。INI 文件依赖节,由特定应用程序读取,而非遵循通用约定。.env 中的值几乎总是被注入环境变量的字符串,而 INI 的消费方则常常应用各自的类型规则。

{-- * External Resources Component(#18 Phase 3b 内容佐证工程) * 工具页「权威引用」区块:RFC / W3C / WHATWG / ECMA / IANA / 官方规范站 / Wikipedia。 * * - 接受 :slug 属性 → 经 config/tool-sources.php 家族矩阵渲染该工具的权威引用 * - slug 未命中映射时不渲染(无权威来源的工具静默跳过) * - 链接 title 保持英文(引用源专名);description 经 * common.resources.descriptions.{key} 本地化,lang 未命中回退英文(线上不裸奔) * - 链接保持 dofollow(rel="noopener noreferrer") * * @param string|null $slug --}}