JSON 工具

JSON 扁平化路径清晰,类型可还原

选择展平或还原后手动运行。输入或选项有变化时,需要重新转换。

JSON 扁平化

JSON 输入

结果

复制与下载包含完整结果,不限于当前预览。

JSON 仅在浏览器内存中处理,不上传或保存。

专用版本格式:k: 表示对象键,i: 表示数组索引;反斜杠转义分隔符和反斜杠。空路径表示根节点。

结果已过期,复制与下载暂不可用。

当配置文件或 API 响应嵌套很多层时,JSON 扁平化可以把分散的字段汇总为路径和值。查看某个深层开关或比对配置时,不必再逐层展开对象。

输出是带版本信息的 JSON 封装,包含分隔符、数组策略与带类型路径。JSON 反扁平化读取这份封装,不会把任意点号键名猜成嵌套结构,也不会把数字属性名误认成数组索引。

为什么使用 JSON 扁平化

数字键名与数组索引各有标记

JSON 扁平化用 k: 标记对象键,用 i: 标记数组索引。名为 "0" 的对象属性不会变成数组第一项;键名中的分隔符经过转义后,也能与真正的路径层级区分。

嵌套树变成四行路径,保留相同颜色的值和一个空容器。

按用途决定数组是否展开

使用 JSON 扁平化检查数组内部字段时,选择索引展开;需要把列表作为整体传递时,选择完整保留。空对象与空数组也会留下条目,还原后不会丢失空配置段。

同一个数组可以拆成索引条目,也可以作为完整值保留。

先检查一次往返

01

先看替换内容再应用

导入文件、载入示例和清空都会先显示替换预览。确认内容后应用;撤销可恢复替换前的输入、结果与设置。

02

先选数组策略与分隔符

索引模式展开数组,保留模式保存完整数组。自定义分隔符仅限单个 ASCII 标点,不能使用冒号或反斜杠。修改选项不会自动运行,原结果会变为过期状态。

03

用完整封装还原

使用结果会先预览替换,应用时反转转换方向。还原时须保留元数据与所有条目。结果按每批 5,000 个字符展示,复制和下载包含完整有效结果。

把结构信息写进路径

键与索引有独立类型

对象段使用 k: 前缀,数组段使用 i: 前缀。空路径代表根节点,因此单独的标量、null 与空容器也能表示。

分隔符可逆转义

对象键内的分隔符及反斜杠使用反斜杠转义。还原只接受该格式规定的规范路径,避免多个写法指向同一位置。

保留数字原始写法

大整数、-0、小数与 1e999 等指数写法作为 JSON 数字文本保留。转换不做数学运算,也不会先转成 JavaScript 数字而发生舍入。

整份数据验证

重复键、路径冲突、稀疏数组与混合容器类型会被拒绝。失败时不会把部分转换结果当成完整结果供你导出。

格式与处理边界

只还原本工具的封装
还原接受 heyutils-json-flat-v1 格式,须包含 separator、arrays 和 entries。普通点号键值映射、JSONPath 表达式和其他工具的展平格式不能直接互换。
输入必须是严格 JSON
注释、尾逗号与重复对象键不被接受。合法数字文本可超出普通浮点数范围,但每个数字词元最多 1,000 个字符。
输入与输出都有上限
输入和输出各最多 500,000 个字符,导入文件最多 500,000 字节,深度最多 100,节点预算为 50,000。超过限制会报错,不会截断结果。
数组路径须连续且规范
展开模式的数组索引必须小于 10,000,且构成连续数组。保留模式可在节点预算内保留更长数组,但还原时不接受 i: 路径。前缀冲突、容器类型混合与非规范路径均会被拒绝。
仅在浏览器内转换
数据只在浏览器内存中处理,不抓取远程地址、不保存转换历史,也不导出 CSV。刷新页面会丢弃当前内容。

JSON 扁平化常见问题

展平后的数据还能还原为嵌套结构吗?

可以,前提是保留本工具生成的完整封装。JSON 扁平化记录路径类型与数组策略,还原时按这些信息重建结构,而非根据数字键名推测数组。

分隔符可以自定义吗?数组怎么处理?

可以使用单个 ASCII 标点作为分隔符,但冒号与反斜杠除外。数组可按索引展开,也可整体保留;键名内同样的分隔符会转义,避免与路径层级混淆。

如何展平嵌套的数组?

选择索引策略后运行。数组中的对象、对象中的数组及多层数组都会生成带 i: 索引段的路径;若希望保留整份列表,改用保留策略。

如何反向展平嵌套数组?

把本工具输出的封装放入输入区并选择还原,或预览并应用“使用结果”。其他工具生成的普通点号路径不能仅靠切换模式转换,需要先适配本封装格式。

多层嵌套的数据也能展平吗?

可以,深度不超过 100 且满足节点、字符等限制时,路径会保留各层的类型与键名。超过限制会明确报错,不会交付只有一部分字段的结果。

遇到了无法正确往返的路径?

试着还原一次

先用示例体验 JSON 扁平化,检查路径如何表示对象与数组,再使用结果还原结构,确认符合用途后处理自己的配置。