INI 转 JSON 转换器
在浏览器中把 INI 配置转成 JSON,再把 JSON 转回 INI。段落、注释和全局键都能处理。你的数据始终留在本地。
INI 转 JSON 转换器完全在你的浏览器中运行。你粘贴的 INI 和 JSON 配置在本地解析,绝不会离开你的设备,也不会上传到 ArrayKit。
打开 JSON 格式化工具
关于 INI 转 JSON 转换器
INI 转 JSON 转换器读取一个经典的 INI 配置文件,把它转成干净、结构化的 JSON,然后再把 JSON 直接转回 INI。它理解 [section] 段头、key=value 条目、位于顶层无段落的全局键,以及以 ';' 或 '#' 开头的注释行——注释会被静默跳过。数字和布尔值默认会被转换,因此 port=5432 变成真正的数字,enabled=true 变成真正的布尔值,或者你也可以把每个值都保留为字符串。反向进行时,顶层标量变成全局键,嵌套的 JSON 对象变成命名的 [段落]。当你在迁移遗留工具的配置、把 INI 设置接入基于 JSON 的管道,或以统一形态对比两份配置时,它都很有用。一切都在你的设备上运行——你的配置绝不离开浏览器。
功能特性
- 双向转换:INI 转 JSON,JSON 再转回 INI
- 把 [section] 段头解析成嵌套的 JSON 对象
- 把无段落的键保留为全局的顶层 JSON 条目
- 自动跳过 ';' 和 '#' 注释行
- 可选的类型转换把数字和布尔值变成真正的 JSON 值
- JSON 对象变成命名的 [段落];标量变成全局键
- 对未闭合段落或格式错误的行给出带行号的清晰错误
- 完全在你的浏览器中运行,不上传任何内容
如何使用 INI 转 JSON 转换器
- 选择「INI → JSON」方向(或切换到「JSON → INI」)
- 把你的 INI 配置或 JSON 粘贴到输入框
- 如果想要数字和布尔值而非字符串,切换「转换类型」
- 复制转换后的输出,或将其下载为 .json 或 .ini 文件
示例
输入
name = ArrayKit
[database]
host = localhost
port = 5432
enabled = true
输出
{
"name": "ArrayKit",
"database": {
"host": "localhost",
"port": 5432,
"enabled": true
}
}
一个全局键加上一个 [database] 段落,变成一个顶层字段和一个嵌套对象。
常见错误与故障排除
- 某行报告 'Expected "key = value"'(期望 "key = value")。 — 每个非注释、非段落的行都必须包含 '='(或 ':')。加上分隔符,或在行首加 ';' 把它变成注释。
- 某个 [section] 行提示 'Unclosed section header'(未闭合的段头)。 — 补上缺失的 ']',让段头读作 [database]。段落名不能跨多行。
- port 变成了字符串 "5432" 而不是数字。 — 开启「转换类型」,让裸数字和 true/false 值被解析为真正的 JSON 数字和布尔值。
- 「JSON → INI」报告顶层需要一个对象。 — INI 没有顶层数组,因此把你的数据包在一个对象里。顶层数组或基本类型无法映射到段落和键。
常见问题
- 转换器如何把 INI 段落映射到 JSON?
- 每个 [section] 段头都会变成以段落名为键的嵌套 JSON 对象,其下的 key=value 行变成该对象的字段。同名的重复段头会被合并到一个对象里。
- 出现在任何 [section] 之前的键会怎样处理?
- 写在第一个段头之前的键是全局的。它们被放在 JSON 对象的顶层,与各段落对象并列,因此不会丢失任何内容。
- ';' 和 '#' 注释会保留在 JSON 输出里吗?
- 不会。以 ';' 或 '#' 开头的行会被当作整行注释,在 INI → JSON 转换时跳过,因此它们绝不会出现在 JSON 里。值之后的行内文本会被保留为该值的一部分。
- 「JSON → INI」如何决定什么变成段落?
- 顶层标量值会变成全局的 key=value 行并率先输出,每个顶层嵌套对象会变成一个命名的 [段落]。更深的嵌套数组或对象会被写成一个 JSON 编码的带引号的值。
- 我可以阻止转换器把值变成数字或布尔值吗?
- 可以。关闭「转换类型」,每个 INI 值都会保留为字符串,因此 port=5432 保持为 "5432",enabled=true 保持为 "true"。
- 转换我的 INI 或 JSON 配置时它会被上传吗?
- 不会。INI 转 JSON 转换器使用本地 JavaScript 在你的浏览器中解析并重建所有内容。你粘贴的配置绝不会离开你的设备,也不会发送到 ArrayKit。
相关工具
全部 ArrayKit 工具