关于此工具
从 JSON 到 CSV 将分层数据扁平化为表格形式。 JSON的优势在于它可以描述嵌套对象、不同长度的数组以及丰富的类型信息; CSV 的较简单结构无法以本机方式表达其中任何内容。因此,转换涉及选择:哪些字段成为列、如何展平嵌套对象(使用点表示法,如 address.city)以及如何处理记录内的数组。
该转换器直接处理常见情况(具有一致键的平面对象数组):每个对象成为一行,所有对象的键的并集成为列集,缺失的字段成为空单元格。对于嵌套数据,转换器提供了一个展平选项,该选项将嵌套键与点连接起来,生成诸如 user.name、user.email、address.zip 之类的列标题。
PapaParse 生成 CSV 输出,对包含逗号、换行符或引号字符的字段应用正确的引号。输出符合 RFC 4180 标准,并且可以在 Excel、Google Sheets 和任何其他支持 CSV 的工具中干净地打开。
为什么将 JSON 转换为 CSV
电子表格仍然是非开发人员的通用数据格式。销售团队、财务团队、营销团队和大多数其他业务职能部门都使用 Excel 或 Google Sheets,要求他们直接使用 JSON 就等于要求他们读取程序员的数据格式。将 JSON 转换为 CSV 桥接器,将 API 输出和数据库导出转换为业务用户实际打开的表单。
CSV 也是导入遗留系统的最可靠的格式。旧版 CRM 导入、会计软件和分析工具接受 CSV,但不接受 JSON。导入前进行转换通常是唯一的途径。
技术细节
转换器需要一个 JSON 对象数组。对于每个对象,计算数组中所有键的并集并将其用作列标题集。每个对象都写为一行,其不包含的键为空值。
启用扁平化后,嵌套对象将递归遍历: { user: { name: 'A', email: 'B' } } 成为列 user.name 和 user.email。由于 CSV 本身无法表示每个单元格的多个值,因此对象内的数组被字符串化(返回为 JSON 文本)。
PapaParse 的 unparse 函数生成 CSV 输出。包含逗号、换行符或引号的字段用双引号括起来,内部引号通过加倍转义。默认情况下,输出使用 CRLF 行结尾并包含标题行。
常见问题
- 将 JSON 转换为 CSV 会改变内容吗?
- 尽可能准确地保留内容。但是,某些特定于格式的功能可能没有直接等效项,因此可能会出现细微的格式差异。
- 为什么要转换为 CSV 格式?
- CSV 受到电子表格应用程序(Excel、Google Sheets)、数据库和编程语言的普遍支持。这是表格数据交换的最简单的格式。
- 转换器是否可以处理嵌套或复杂的 JSON 结构?
- 是的。该工具可以正确解析嵌套对象、数组和所有标准 JSON 数据类型,从而在 CSV 输出中保留完整的数据结构。
- 此转换安全且私密吗?
- 是的。所有处理都在您的浏览器本地进行。您的数据永远不会离开您的设备 - 没有服务器上传,没有云处理,没有数据收集。
- 我的数据是否上传到服务器?
- 不会。转换使用 PapaParse 在您的浏览器中运行。
- 同一数组中具有不同键的对象怎么样?
- CSV 标头是所有键的并集。缺少特定键的对象会在该列中产生空单元格。 CSV 仍然有效,只是稀疏。
- 我可以从 CSV 转换回 JSON 吗?
- 是的 — 使用 CSV 到 JSON 工具。对于扁平数据来说,往返可以是无损的;嵌套数据可能需要标准化。
- 最大尺寸是多少?
- 最多 50 MB 的 JSON 输入。由于浏览器内存的原因,较大的文件可能会减慢速度。