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 空格)只影响格式,不影响内容。
相关工具
JSON 键排序
按字母顺序排序 JSON 对象的键。可选递归进入嵌套对象,对整个文档做规范化。
开发 0 0
Unicode 转义转换器
将文本编码为 \uXXXX、U+XXXX 或 HTML 实体,并可将其中任意一种解码回文本。支持表情符号和增补字符。
开发 0 0
CBOR 解码器 (诊断表示法)
将 hex 或 base64 的 CBOR(RFC 8949)解码为可读的诊断表示法 — 整数、字节与文本字符串、数组、映射、标签、浮点数、简单值与不定长项 — 全部在浏览器内完成。
开发 0 0
JSON 格式化与校验工具
在浏览器中格式化、美化、压缩并校验 JSON。
开发 0 0
JWT 解码器
解码 JSON Web Token,查看其头部、声明和过期时间。
开发 0 0
JSON Diff 查看器
结构化对比两个 JSON——精确显示新增、删除、变更的字段。
开发 0 0