JSON 扁平化器和反扁平化器(点表示法)
指导
JSON 展平与反展平工具
将嵌套的 JSON 结构转换为扁平的点表示法键值对,或反向操作以从扁平键重建嵌套对象。此双向工具可处理深度嵌套的对象、带有索引表示法的数组、自定义分隔符以及可配置的深度限制——所有操作均在您的浏览器端完成。非常适合用于 NoSQL 数据库、环境变量配置或任何需要扁平键值格式的系统。
如何使用
将您的 JSON 粘贴到输入区域,并选择操作模式——展平以将嵌套的 JSON 转换为点表示法,或反展平以从扁平键重建嵌套结构。选择您偏好的分隔符(点、斜杠、下划线或自定义),选择数组的表示方式,并设置可选的深度限制。输出会自动更新,带有语法高亮,可随时复制或下载。
特征
- 双向转换 — 将嵌套的 JSON 展平为点表示法,或将扁平键还原为嵌套结构
- 自定义分隔符 — 使用点 (
.),斜杠 (/),下划线 (_),或任何自定义分隔符作为路径键 - 数组表示法选项 — 选择点索引 (
arr.0.name) 或方括号表示法 (arr[0].name) - 深度限制 — 仅展平 N 层深度,保留更深层的嵌套结构
- 自动检测模式 — 根据输入结构自动建议展平或反展平
- 类型保留 — 在往返操作中正确保留数字、布尔值、null 值和字符串
- 美化输出 — 可配置的缩进(2 或 4 个空格,或紧凑模式),并带有语法高亮
常问问题
-
什么是 JSON 展平,以及何时有用?
JSON 展平将嵌套对象结构转换为单层对象,其中每个键代表值的完整路径,使用点表示法。例如,嵌套的 user.name.first 路径变为单个扁平键。这在处理 Redis 或 DynamoDB 等存储扁平键值对的 NoSQL 数据库时非常有用,也可用于将嵌套配置映射到环境变量,或需要逐字段比较两个深度嵌套对象时。
-
展平过程中如何处理数组?
数组使用路径中的数字索引进行展平。使用点索引表示法时,数组元素的键为 items.0 和 items.1;使用方括号表示法时,它们变为 items[0] 和 items[1]。在反展平时,工具会检测到数字路径段,并正确重建数组,而不是创建具有数字字符串键的对象。
-
深度限制的作用是什么?
深度限制控制展平器递归的深度。当深度限制为 2 时,深度嵌套的对象仅部分展平,保留超过该层级的嵌套结构。将深度设置为 0 表示无深度限制。这在您希望部分展平结构并保留某些嵌套分组时非常有用。
-
展平和反展平操作是否可以无数据损失地往返?
是的,只要在展平和反展平操作中使用相同的分隔符和数组表示法设置。使用匹配设置的展平后反展平,将完全还原原始嵌套结构,所有数据类型(字符串、数字、布尔值、null 值、数组和嵌套对象)均得以保留。唯一的例外是空对象和空数组,因为它们没有叶值可展平。
