JSON ⇔ CSV 转换器

JSON ⇔ CSV 转换器

您只需使用浏览器即可在 JSON 和 CSV 之间进行转换。您可以将 JSON 对象数组转换为 CSV,将 CSV/TSV 转换为 JSON,并可选择分隔符、类型推断以及展开嵌套项等选项。

输入数据

您可以拖放 JSON、CSV 和 TSV 文件。
正在处理...

转化设置

我们将处理过程拆分为更小的部分,并插入暂停以减少CPU占用率。处理大型文件时,处理时间可能会更长。
请粘贴输入数据或选择文件。

翻译结果

什么是 JSON ⇔ CSV 转换器?

JSON ⇔ CSV 转换器是一款用于在 JSON 格式(通常用于 Web API 和编程)与 CSV 格式(广泛用于电子表格软件和业务系统)之间进行转换的工具。JSON 可以利用对象和数组表示结构化数据,而 CSV 则是一种由行和列组成的简单表格格式,非常适合导入 Excel 或电子表格、查看列表数据以及将数据传输到其他系统。当您需要将从 API 获取的 JSON 保存为 CSV 文件,或者将 CSV 列表数据转换为可由 JavaScript 或 API 处理的 JSON 时,均可使用此工具。

将 JSON 转换为 CSV 时,通常会提供一个包含多个对象的数组,且所有对象都包含相同类型的字段。例如,如果 JSON 中包含多个产品对象,且这些对象具有名称、价格和库存等字段,则每个键在 CSV 中将成为一列标题,每个对象将作为单独的一行输出。 即使某个字段仅出现在部分行中,系统也会收集所有键来生成列,而没有值的单元格将被视为空白。通过启用“使用点表示法展开嵌套 JSON”选项,可以将嵌套对象展开为列名,例如 `address.city`。

将 CSV 转换为 JSON 时,请将第一行视为列名,并将从第二行开始的行转换为对象。由于 CSV 中的所有值均以字符串形式表示,启用“推断类型”功能可将 123 转换为数字,将 true 或 false 转换为布尔值,并将 null 转换为 null。对于前导零至关重要的数据(例如产品代码或邮政编码),必须将值保留为字符串;因此,建议在此类情况下关闭类型推断功能。

CSV 分隔符不仅支持逗号,还支持制表符、分号和竖线。如果选择制表符,该文件可作为 TSV 文件使用。如果单元格中包含逗号、换行符或双引号,则根据标准 CSV 规则将数据用双引号括起来,并且输出时单元格内的任何双引号都会被转为双引号。这使得系统能够处理包含文本或描述的数据,否则这些数据在进行简单的字符串替换时容易出现损坏。

本工具的转换过程在浏览器内通过 JavaScript 完成;不会将输入的 JSON 或 CSV 文件上传至服务器进行转换。即使处理客户数据或内部数据,您也可以避免将数据发送至外部服务器。不过,请针对共享设备、浏览器扩展以及设备本身的安全性采取单独的防范措施。 超大数据集会消耗大量浏览器内存,因此请根据需要对数据进行拆分。

主要功能

  • 您可以将 JSON 对象数组转换为 CSV 或 TSV 格式。
  • 您可以将 CSV 和 TSV 文件转换为 JSON 对象数组。
  • 支持逗号、制表符、分号和竖线作为分隔符。
  • 您可以将嵌套的 JSON 对象展开为点表示法列。
  • 在将 CSV 转换为 JSON 时,系统可以推断数值、布尔值和空值的类型。
  • 您可以切换 JSON 的格式化显示。
  • 您可以复制结果,或将其保存为 CSV、TSV 或 JSON 文件。
  • 输入数据在浏览器内进行处理,而非发送至服务器。资源密集型转换通过 Web Workers 执行,系统设计旨在即使在处理过程中,也能最大限度地减少对用户交互的干扰。

如何使用 JSON ⇔ CSV 转换器

  1. 从“JSON → CSV”或“CSV → JSON”中选择转换方向。
  2. 将数据粘贴到输入框中,或选择一个 JSON、CSV 或 TSV 文件。
  3. 选择必要的设置,例如 CSV 分隔符、JSON 嵌套展开以及 CSV 值的类型推断。
  4. 点击“转换”以显示结果。如果结果区域超出屏幕范围,系统会自动滚动以显示该区域。
  5. 请审核内容,并使用“复制结果”或“下载”。
  6. 为减轻设备在处理大型数据集时的负担,请启用“低负载模式”。处理过程中,您可以使用进度条和“暂停处理”按钮。
  7. 若需反向转换,请使用“反向转换”功能将结果移至输入侧,然后继续转换。

使用注意事项

  • JSON → CSV 适用于可转换为表格格式的数据;它无法完全呈现复杂的层次化数组。
  • 当启用 CSV 类型推断时,诸如 00123 之类的值会被视为字符串而非数字,因此以零开头的值会自动被视为字符串。
  • 将 CSV 转换为 JSON 时,请将第一行用作列名。由于重复的列名会被后续的值覆盖,请确保列名唯一。
  • 由于大量数据可能会占用设备内存并延长处理时间,请尽量将文件大小控制在 20 MB 以内。

关于 JSON ⇔ CSV 转换器的常见问题

我应该输入什么样的 JSON 才能将其转换为 CSV?

通常,您需要输入一个对象数组。即使是一个对象,也可以转换为一行 CSV 数据。

嵌套的 JSON 也能转换为 CSV 吗?

是的。如果启用“使用点符号展开嵌套 JSON”选项,即可将其展开为列名,例如 address.city。

包含数组的 JSON 会发生什么情况?

对象中的数组将作为 JSON 字符串输出,以便其能完整显示在单个 CSV 单元格中。建议预先规划复杂多维数据的结构。

将数据从 CSV 转换为 JSON 时,数据会被转换为数值吗?

启用类型推断时,常见的数值、`true`、`false` 和 `null` 将被转换为相应的 JSON 类型。禁用时,它们均被视为字符串。

包含前导零的数值(如 00123)能否保留?

是的。即使启用了类型推断,我们也会确保带前导零的整数格式的值被存储为字符串。

它也支持TSV格式吗?

是的。如果您选择“制表符 (TSV)”作为分隔符,即可在 JSON 和 TSV 之间进行转换。

能否转换包含单元格内逗号或换行符的CSV文件?

只要数据按照 CSV 规则用双引号括起来,系统就能解析单元格内的逗号、换行符和双引号。

JSON 和 CSV 文件是否会发送至服务器?

不。文件的加载和转换由浏览器内的 JavaScript 处理。

我可以将翻译结果保存为文件吗?

是的。根据转换方向的不同,您可以下载 .csv、.tsv 或 .json 格式的文件。

CSV 文件中的列顺序是如何确定的?

按顺序收集 JSON 中出现的键(从第一个对象开始),如果出现新键,将其添加到末尾。

CSV 文件的第一行是必需的吗?

将 CSV 转换为 JSON 时,第一行将用作 JSON 键,因此必须包含一行为列名作为标题行。

可以直接转换Excel文件吗?

该工具支持 JSON、CSV 和 TSV 文件。使用 .xlsx 文件前,请将其另存为 CSV 文件。

处理大文件时,如果浏览器运行变慢,我该怎么办?

启用“低负载模式”后,处理过程将被拆分为多个较小的片段,并在片段之间插入暂停。此外,由于转换处理是在 Web Worker 中执行的,因此屏幕冻结的可能性较小,您还可以在处理运行时通过“暂停”按钮停止该过程。