JSON 扁平化 / 还原 (点号表示法)
开发
粘贴 JSON 并在两种模式间切换。扁平化把嵌套对象或数组折叠为一个扁平对象,其键是形如 `app.server.ports[0]` 的路径 — 适合环境变量、MongoDB 更新路径、i18n 消息文件、CSV 列或对比两份配置。还原则相反,把扁平的点号键展开回嵌套结构。可选择分隔符(`.`、`/`、`_`、`-`),以及数组用方括号表示法(`items[0]`)还是点号索引(`items.0`)。空对象与空数组会作为叶子保留,因此扁平化 → 还原的往返会精确返回你输入的内容。全部在本地运行 — 你的 JSON 绝不离开浏览器。
—
数组:
输出 · 9 个键
{
"app.name": "demo",
"app.version": "1.2.0",
"app.features[0]": "search",
"app.features[1]": "export",
"app.server.host": "localhost",
"app.server.ports[0]": 8080,
"app.server.ports[1]": 8081,
"flags.beta": true,
"flags.maxUsers": 100
}除非对象键中含有分隔符,扁平化与还原是精确的互逆运算 — 若键中有点号请更换分隔符。
使用方法
- 选择扁平化或还原。
- 把 JSON 粘贴到输入框。
- 按目标格式设置分隔符与数组表示法,然后复制结果。
常见问题
- 转换可逆吗?
- 对常规数据可逆。用相同分隔符与数组表示法先扁平化再还原会得到完全相同的对象 — 空对象/数组与 null 值都作为叶子保留,不会丢失。唯一的例外见下。
- 如果对象键里含有分隔符怎么办?
- 那样往返会有歧义:用 `.` 分隔符扁平化得到的 `a.b` 键,与嵌套的 `a` → `b` 无法区分,还原时会被拆开。若键中含有点号,请改用键中不出现的其他分隔符(如 `/`)。
- 数组索引如何处理?
- 方括号模式下数组为 `list[0]`、`list[1]`;点号模式下为 `list.0`、`list.1`。还原时,任何方括号索引或纯数字片段都会重建为数组元素,因此扁平键 `users.0.name` 会生成对象数组。
- 会改变我的数据类型吗?
- 不会。数字、布尔、null 和字符串都按 JSON 值原样保留,只有键结构改变。输出缩进(0/2/4 空格)只影响格式,不影响内容。
相关工具
Base64 与十六进制互转
在浏览器中将 Base64 字符串转换为十六进制字节,并将十六进制转换回 Base64,支持 URL-safe。
开发00
Quoted-Printable 编码与解码
将文本编码为 MIME Quoted-Printable(RFC 2045)或解码 — 处理 =XX 转义、软换行与 UTF-8 — 全部在浏览器内完成,编码时按 76 字符换行。
开发00
哈希生成器 (SHA)
根据文本生成 SHA-1、SHA-256、SHA-384 和 SHA-512 哈希。
开发00
URL 编码 / 解码
将文本按百分号编码用于网址,或将编码的网址解码为文本。
开发00
Base64 编码 / 解码
即时将文本编码为 Base64,或将 Base64 解码为文本。
开发00
JSON 格式化与校验工具
在浏览器中格式化、美化、压缩并校验 JSON。
开发00