跳到正文
EVOA Toolbox

JSON 转 CSV

将 JSON 对象数组或数组的数组转换为 CSV。用点号表示法展开嵌套对象,支持自定义分隔符和适合电子表格的安全导出。

在浏览器中本地处理,你的文件不会被上传。

正在加载工具…

这个工具能做什么

粘贴 JSON 或拖入 .json 文件,即可得到可以在 Excel、Google Sheets 中打开或导入数据库的 CSV。常见的输入是对象数组,例如 API 响应;每个不同的键都会成为一列,按首次出现的顺序排列,缺少某个键的对象则对应的单元格为空。数组的数组、单个对象以及纯值数组也同样支持。

现实中的 JSON 往往是嵌套的,所以工具会将其展开。使用点号表示法,{"user":{"name":"Ann"},"tags":["a","b"]} 会变成 user.name、tags.0 和 tags.1 这几列,你也可以更改分隔符。如果你更想保留结构,可以选择把嵌套的值作为 JSON 字符串写入单个单元格。

导出选项涵盖了电子表格所需的功能:逗号、分号、制表符或竖线分隔符,是否包含表头行,为每个字段加引号,Windows 换行符,以及让 Excel 正确显示重音字符的 UTF-8 BOM。CSV 注入防护可以在以 =、+、- 或 @ 开头的单元格前加上单引号,这样数据中的恶意值在文件被打开时不会被当作公式执行。如果 JSON 无效,会尽可能报告所在的行和列。

使用方法

  1. 1把 JSON 粘贴到框中,或拖入 .json 文件。
  2. 2选择如何处理嵌套数据(点号表示法或 JSON 文本)以及分隔符。
  3. 3设置表头、引号、换行符、BOM 和 CSV 注入选项。较小的输入会随着输入实时转换;大文件请点击“转换”。
  4. 4查看预览表格和任何警告,然后复制或下载 CSV。

支持的格式

输入:JSON 文本或 .json 文件(对象数组、数组的数组、值数组或单个对象)。输出:使用你所选分隔符的 CSV(.csv)。

隐私

此工具在你的浏览器中运行。你提供的数据在你的设备上处理,不会发送到我们的服务器。

限制

  • JSON 必须有效。不接受注释、尾随逗号和 JSON Lines(每行一个对象)。
  • 与第一项结构不符的项(例如对象数组中混入的一个数字)会被跳过,并作为警告列出。
  • 当对象的键各不相同时,展开可能产生很多列;对象中的数组会为每个索引生成一列。
  • 注入防护会改变数据(添加单引号),而像 -5 这样的普通数字不受影响。对于要在电子表格中打开的文件请开启,如果 CSV 要交给其他程序使用,请关闭。
  • 整个文件在内存中处理;非常大的 JSON 可能会很慢。超过 1 MB 的文件会在后台 worker 中转换。

常见问题

嵌套的对象和数组是如何处理的?

默认使用点号表示法展开:user.address.city、tags.0、tags.1。切换到“JSON 文本”,则会把每个嵌套的值作为 JSON 字符串放入一个单元格。

如果我的对象键各不相同怎么办?

列是所有键的并集,按它们首次出现的顺序排列。缺少某个键的对象,对应的单元格为空。

什么是 CSV 注入?

以 =、+、- 或 @ 开头的单元格可能被 Excel 或 Sheets 当作公式执行。防护选项会在这类单元格前加上单引号,使它们显示为文本。

为什么需要 BOM?

Windows 上的 Excel 会猜测 CSV 文件的编码,除非文件以 UTF-8 字节顺序标记开头,否则经常会把重音字符和非拉丁文字显示成乱码。其他程序可能不需要它,所以它是可选的。

相关工具