⇄LocalShift. 在您的设备上运行
LOCALSHIFT 使用指南

如何将嵌套 JSON 转换为 CSV

对于记录数组,应将嵌套对象展开为具名列,并明确数组的表示方式。LocalShift 使用点号分隔的列名,将数组以 JSON 文本保留在一个单元格中。

选择记录数组,而非 API 响应的外层对象

API 响应可能将记录放在 data 或 results 属性中,并包含分页信息。如果希望每条记录占一行,请只复制记录数组。粘贴整个外层对象会将其视为单个对象,其中的嵌套数组仍保留在一个单元格中。

使用下方示例试用“JSON 转 CSV”。选择逗号分隔并保留表头,无需上传文件。

[{"user":{"id":"001","name":"Alex"},"tags":["new","vip"]},
 {"user":{"id":"002","name":"Sam"},"active":true}]

了解列的对应关系

user 对象会展开为 user.id 和 user.name 列。tags 数组保留为包含方括号的 JSON 文本。active 虽然不在第一条记录中,仍会成为一列。缺失值和显式 null 都变成空单元格,因此此输出无法区分这两种情况。

如果同时存在名为 user.id 的键和嵌套路径 user.id,就会产生含义不明确的列。LocalShift 会报告冲突,不会自动选择其中一个值。

user.id,user.name,tags,active
001,Alex,"[""new"",""vip""]",
002,Sam,,true

导出前先确定数组的处理方式

如果希望每个标签占一行,请先整理记录结构,再使用本工具。自动展开多个独立数组可能导致行数相乘,产生误导性的组合。当前工具会将数组保留在其所属记录中。

将 CSV 再转回 JSON 不会重建嵌套对象。user.name 等列名仍会作为普通键名;单元格中的数组 JSON 文本仍是字符串。如需保留层级结构,请保留原始 JSON。

保护标识符并检查结果

请将源 JSON 中的长标识符用引号包裹。未加引号且超出 JavaScript 安全范围的整数会报错;普通小数使用 JavaScript 精度。在电子表格中打开 CSV 时,请将标识符列按“文本”类型导入,避免丢失前导零。

“电子表格安全模式”可能为类似公式的文本单元格添加英文单引号。对于来自不可信来源、将用于电子表格的数据,建议启用该选项,并检查后续处理。使用导出结果前,请核对行数和重要字段。

参考资料

以下为通用格式参考资料;LocalShift 的具体行为另有说明和测试。

试用工具