跳到正文
SPCXTools

JSON 转 CSV 转换器

将 JSON 数组转换为电子表格适用的 CSV,并将嵌套对象展平为列。

本地运行——文件不会离开你的设备

正在加载工具…

如何使用JSON 转 CSV 转换器

  1. 1将 JSON 粘贴到左侧框中,或点击 打开文件 加载 .json 文件。
  2. 2选择 分隔符 —— 多数工具使用逗号,许多欧洲地区的 Excel 使用分号,或制表符(用于 TSV)。
  3. 3决定是否包含 标题行 以及是否将 嵌套对象展平 为以点分隔的列。
  4. 4复制或下载 CSV。如果重音字符在 Excel 中显示不正确,请勾选 Excel 友好型 UTF-8。

将 JSON 转换为适用于电子表格的 CSV

API、数据库和日志记录工具通常使用 JSON 格式,但同事、客户和分析师常常需要电子表格。这款 JSON 转 CSV 转换器可以将 JSON 数组转换为您可以在 Excel、Google Sheets、Numbers 或任何数据工具中打开的 CSV 文件。嵌套对象会被展平为独立的列,缺失的字段会得到妥善处理,特殊字符也会被正确转义。所有转换都在您的浏览器中运行,因此您的数据将保持私密。

功能特性

  • 支持 对象数组、数组的数组或单个对象 作为输入。
  • 展平嵌套对象 为 address.city 和 address.country 这样的列。
  • 所有键都会成为列 —— 具有不同字段的对象会被合并成一个统一的表格。
  • 多种分隔符可选:逗号、分号、制表符(TSV)或管道符。
  • 根据 CSV 标准 正确转义 逗号、引号和换行符。
  • Excel 友好型 UTF-8 选项,通过添加 BOM 使重音符号和非拉丁字符正常显示。
  • 复制或下载,打开文件时会保留原始文件名。

示例

以下 JSON:

[
  { "id": 1, "name": "Ada", "address": { "city": "London" }, "tags": ["math"] },
  { "id": 2, "name": "Alan", "address": { "city": "Manchester" } }
]

会转换为以下 CSV:

id,name,address.city,tags
1,Ada,London,"[""math""]"
2,Alan,Manchester,

tags 数组作为 JSON 文本存储在单个单元格中,并根据 CSV 要求将其中的引号加倍。第二行没有 tags,因此该单元格为空。

使用技巧

  • 先提取数组。 许多 API 响应会将列表包装在一个对象中,例如 {"data": [...], "page": 1}。转换整个对象只会得到一行;仅复制数组部分,才能为每个项目生成一行。
  • 在欧洲地区使用 Excel 时选择分号。 如果 Excel 将所有内容都放在一列中,这通常是因为您的系统使用逗号作为小数点分隔符。请使用分号作为分隔符,或通过 Excel 的“数据 › 从文本/CSV”导入文件。
  • 先验证 JSON。 如果 JSON 存在语法错误,工具会显示错误位置。您可以使用 JSON 格式化工具 帮助您查找和修复错误。

相关工具

如需反向转换,请使用 CSV 转 JSON 转换器。如需逐行比较两个导出文件,请尝试 文本差异比对工具。

常见问题

可以转换哪些 JSON 结构?
最佳输入是对象数组,例如 API 响应:[{"id": 1, "name": "Ada"}, …]。每个对象会成为一行,每个键会成为一列。数组的数组会逐行转换,单个对象会成为一个单行表格。
如何处理嵌套的对象和数组?
勾选 展平嵌套对象 后,嵌套对象会变成以点分隔名称的独立列,因此 {"address": {"city": "London"}} 会变成名为 address.city 的列。数组会作为 JSON 文本(["a","b"])写入单个单元格,因为它们的长度不固定。不展平时,嵌套对象也会作为 JSON 文本写入。
如果对象有不同的键会怎么样?
转换器会收集所有对象中出现的每一个键,并按它们首次出现的顺序将它们全部用作列。没有某个键的行将在对应列得到一个空单元格。
为什么重音或非拉丁字符在 Excel 中显示不正确?
某些版本的 Excel 在打开 CSV 文件时会假定一种旧的区域编码。勾选 Excel 友好型 UTF-8 会为下载的文件添加字节顺序标记(BOM),这会告诉 Excel 该文件是 UTF-8 编码。Google Sheets 和 Numbers 无需 BOM 即可处理 UTF-8。
有大小限制吗?
没有固定的限制。几兆大小的文件可以瞬间转换完成。由于所有处理都在您的浏览器本地进行,非常大的文件仅受您设备内存的限制。
我的 JSON 数据会被发送到服务器吗?
不会。解析和转换都在您的设备上进行,因此您的 API 响应、日志和导出数据都会保持私密。