嵌套 JSON 拍平成点号键,再还原回嵌套。分隔符和数组风格可选,类型不变,纯浏览器本地。
- 本地处理
- 分类 开发运维
- 适合 格式化、校验、压缩或检查和代码相关的文本。
✓ JSON 有效,输入
{
"a.b": 1,
"tags.0": "x",
"tags.1": "y",
"ok": true
}这个工具能做什么
把嵌套 JSON 拍平成单层点号键,也能把扁平键还原回原来的嵌套对象。 粘任意 JSON:像 {"a":{"b":1}} 这样的嵌套对象会变成 {"a.b":1},反向还原 能精确重建整棵树。数组怎么写可以选,数字键(a.0)或方括号下标(a[0])都行; 分隔符也可选(点、下划线或自定义),这样键里本来带的点就不会和层级边界 撞车。每个叶子值都保留 JSON 类型:数字还是数字,布尔还是布尔,null 还是 null。JSON 非法时给出带行号列号的友好提示。一键复制、缩进输出,分享链接 可还原你的原始输入和选项。100% 浏览器本地,什么都不上传。
工具细节
- 输入
- 文本 + 数值 + 结构化内容
- 页面会根据工具类型展示文本框、数值控件、文件选择或结构化输入。
- 输出
- 即时结果 + 复制
- 结果区优先给出可操作结果,支持项会显示复制、下载或可视化预览。
- 隐私
- 浏览器本地处理
- 主工具逻辑未发现外部 API 调用,输入通常留在当前标签页内处理。
- 保存 / 分享
- 可分享链接状态
- 关键设置会进入 URL,复制链接后别人能复现同一组参数。
- 性能预算
- 首屏 JS ≤ 9 KB
- 没有声明 WASM 依赖,适合快速打开和移动端使用。
- 适用场景
- 开发运维 · 程序员
- 分类和职业标签用于推荐相关工具、组织内链,并帮助用户快速判断是否适合当前任务。
怎么用
-
1. 输入
把内容粘贴或拖入工具面板。
-
2. 处理
点击按钮,在浏览器内本地处理,文件不上传。
-
3. 复制 / 下载
一键复制结果或下载到本地。
JSON 扁平化 / 还原 适合怎么用
适合穿插在写代码、查问题、做 Review、上线前的小任务里。
适合开发场景
- 格式化、校验、压缩或检查和代码相关的文本。
- 把片段整理好再放进文档、工单、提交或交接材料。
- 不切换工具,快速检查一个小 payload。
开发检查项
- 压缩、混淆这类不可逆处理,先对副本操作。
- 除非确认工具本地处理,不要粘贴密钥和敏感片段。
- 转换后的代码上线前,仍要跑自己的测试或 lint。
下一步可以接着做
这些入口会把当前任务接到更完整的工具链里。
真实使用场景
把嵌套配置塞进扁平的 .env 或键值库
应用配置是嵌套 JSON,但部署目标只认扁平键:Consul、etcd、.env 文件或 AWS Parameter Store。把 {"db":{"host":"localhost","port":5432}} 粘进来扁平化,就得到 db.host 和 db.port 两个顶层键,直接写进键值库。 分隔符选下划线,DB_HOST / DB_PORT 直接落到 env 文件里,不用再改名。
对比两份只差在三层深处的配置
两份服务配置乍看一模一样,可有一个请求在预发环境就是挂。两份都 扁平化,把扁平版本丢进 diff 工具,真正改动的那一行会以 features.checkout.retryLimit 这样一个键直接显出来,不用再一层层 展开嵌套大括号去对眼睛。
把 i18n 翻译树拍平成扁平消息键
翻译文件按命名空间嵌套:{"home":{"title":"你好"}}。多数翻译平台和 gettext 风格的目录只要 home.title 这样的扁平键。把树拍平,扁平列表 交给译员,译员回传后再 unflatten 还原成 i18n 库加载的嵌套结构。 往返干净,键名不用手动重搭。
把 JSON 对象变成表格能认的列
想把一条嵌套记录变成表格里的一行。扁平化后每个叶子值成一个列头 (address.city、address.zip、tags.0、tags.1),粘进表格,JSON 用 嵌套表达的结构就摊成了普通列。导入端要方括号下标的话,把数组风格 切成 a[0] 即可。
常见踩坑
选了键里本来就有的分隔符。键是 "user.name",再用 "." 扁平化,unflatten 就分不清这个点是字面量还是层级边界了。键里含点时,换成 "_" 或一个数据里绝不出现的自定义分隔符。
以为 unflatten 会自动沿用你的数组风格。用 a[0] 扁平化却用 a.0 的设置还原,数字段会重建成对象键而不是数组。两个方向的分隔符和方括号选项必须一致,否则往返会悄悄改变结构。
以为数字和布尔会变成字符串。不会。扁平化保留每个叶子的 JSON 类型,5432 还是数字,true 还是布尔。如果键值库只收字符串、需要全部转字符串,在扁平化之后再转,不要之前转。
隐私说明
扁平化、还原和 JSON 解析都是浏览器标签页里运行的纯 JavaScript,一次 JSON.parse 加一段在对象上的小递归遍历。JSON 不上传,不记录,没有任何 带着你数据的网络请求。唯一离开页面的:分享链接会把输入和选项写进查询 字符串,所以把链接粘到聊天里,对方服务器的访问日志会留下这段内容。 涉及保密配置或密钥,请用复制按钮粘贴文本,而不是分享网址。
常见问题
类似工具组合
做你这行的人, 还会一起用这些。