Skip to main content
CheckTown
数据工具

JSON 转 CSV:将结构化数据导出为电子表格

发布于 阅读约 5 分钟
本文目录

为什么要把 JSON 转换为 CSV?

JSON 非常适合 API 和编程,而 CSV 则是业务分析、电子表格工具和数据交换的首选格式。将 JSON 数据导出为 CSV,能让非技术用户也能使用这些数据,可导入 BI 工具,并兼容 Excel、Google 表格和数据库导入向导。

主要难点在于:JSON 支持嵌套结构和数组,而 CSV 是扁平的。将复杂的嵌套 JSON 转换为 CSV 需要做出扁平化决策:哪些嵌套属性要变成列,以及数组该如何处理。

JSON 转 CSV 的工作原理

转换工具会将 JSON 对象扁平化为一行行数据,并根据键生成列标题。

  • 键提取——扫描 JSON 数组,识别出所有对象中出现过的全部唯一键
  • 嵌套扁平化——将嵌套对象转换为点号表示的列(user.name → user_name)
  • 缺失值处理——对于缺少某些键的对象,用空字符串填充相应的空列

免费试用 —— 无需注册

将 JSON 转换为 CSV →

何时使用 JSON 转 CSV

每当结构化数据需要提供给电子表格用户使用,或需要导入表格型系统时,JSON 转 CSV 都很有用。

  • 报表——将 API 数据导出为 CSV,用于在 Excel 或 Google 表格中做业务报表
  • 数据库迁移——将 JSON 文档的导出内容转换为 CSV,以便导入关系型数据库
  • 数据共享——从 JSON 格式的 API 响应生成 CSV 文件,供不具备编程技能的相关人员使用

常见问题

在转换为 CSV 时如何处理 JSON 数组?

JSON 对象中的数组是最棘手的情况。可选做法包括:将数组元素以逗号分隔的字符串形式放入单个 CSV 单元格;为每个数组元素创建单独的行(将数组展开);或将数组序列化为 JSON 字符串。最佳做法取决于数组的内容及其预期用途。

转换过程中 JSON 里的 null 值会怎样?

JSON 的 null 值通常在生成的 CSV 中表示为空单元格。这能与大多数 CSV 解析器和电子表格应用保持兼容。将 CSV 重新导入数据库时,null 的处理方式取决于导入配置。

JSON 转 CSV 能处理深度嵌套的对象吗?

深度嵌套的对象可以在合理深度内使用点号表示法进行扁平化。非常深的嵌套(4 层以上)会产生又长又难读的列名(user.address.city.district.name)。对于深度嵌套的数据,请考虑 CSV 是否是合适的输出格式,或者是否应在转换前先将结构做去规范化处理。

相关工具