选择语言

JSON 转 CSV 转换器

本工具可将JSON对象数组转换为CSV格式,自动提取所有键作为列标题,并展平嵌套对象(使用点号路径),同时正确处理特殊字符与逗号转义。转换结果可直接导入Excel、Google Sheets等电子表格,或用于数据库导入及数据迁移。

Mehmet Demiray 发布日期 更新日期
分享
输出中用于分隔值的字符
第一行写入列名
即使不需要,也把所有值加上引号

认识 JSON 转 CSV:为何需要以及何时使用

在日常开发与数据分析工作中,我们经常遇到来自后端接口的 JSON 数据。JSON 格式灵活、可嵌套,非常适合程序间交换信息。但当团队中的运营同事或者业务分析师需要用电子表格进行统计时,JSON 就显得不够友好。这时,把 JSON 转为 CSV 就成了一个高频需求。

JSON 转 CSV 工具正是为解决这一痛点而生。它能够将常见的 JSON 对象数组(例如 API 返回的列表)快速转换为逗号分隔的 CSV 文本,你只需复制结果到文本编辑器并保存为 .csv 文件,即可用 WPS 表格或 Microsoft Excel 打开。整个转换过程无需编写任何代码。如果你拿到的是一个结构复杂的 JSON,建议先用 JSON 格式化 工具整理缩进,确认键名与层级,再粘贴到本工具进行转换。而当你需要把 CSV 数据反向转回 JSON 时,CSV 转 JSON 工具也能帮你一键完成。

JSON 与 CSV 的结构差异:从树形到表格

JSON 是一种树状结构,可以任意嵌套对象和数组,非常适合表达复杂的数据关系。比如一个用户对象里可以包含订单数组,每个订单又包含商品明细。而 CSV(逗号分隔值)是一种典型的二维表格格式,每一行是一条记录,每一列是一个字段,无法直接表达层次关系。

当使用 JSON 转 CSV 工具时,转换引擎会自动处理这种结构差异。对于作为数组元素的 JSON 对象,每个对象会变为 CSV 中的一行;该对象的第一层键会成为列标题。如果对象内部还嵌套了子对象,工具会采用点号表示法将其扁平化,比如 user.address.city 会作为一个独立的列出现。如果单元格的值本身是一个数组,工具则将其序列化为 JSON 字符串填入单元格中,保持数据的完整性。

理解这一点有助于你提前规划数据的可读性。如果你需要预览原始 JSON 的层级结构,可以借助 JSON 格式化 工具清晰查看。转换后的 CSV 虽然丢失了部分结构信息,但更利于使用电子表格进行筛选和透视分析。

如何三步完成 JSON 转 CSV 转换?

使用 JSON 转 CSV 工具的过程极其简单,无需任何技术背景。第一步,准备好一个有效的 JSON 数组。这意味着你的 JSON 的最外层必须是方括号包裹的对象列表,例如 [{"name":"张伟","age":29},{"name":"李娜","age":31}]。如果你从 API 获取的 JSON 是一个单独对象,可以先手动将其包裹在数组中,或使用其他工具提取数组部分。

第二步,将完整的 JSON 数组文本粘贴到工具的输入区域。粘贴后工具会自动进行语法检查。如果格式有误,建议使用 JSON 格式化 工具先验证并修正,再重新粘贴。

第三步,点击转换按钮,工具会瞬间生成包含标题行的 CSV 文本。此时你可以直接复制全部内容,粘贴到记事本中,并以 .csv 扩展名保存。用 WPS 表格或 Excel 打开时,记得选择 UTF-8 编码以确保中文正确显示。如果表格中某个字段原本含有逗号或换行符,工具已经使用双引号进行了标准转义,不会造成错列。

嵌套结构与特殊字符的转换规则

在实际业务中,JSON 数据往往不是扁平的。以电商订单为例,一个订单对象可能包含客户信息、商品列表和物流详情等多层嵌套。JSON 转 CSV 工具采用一致的策略来处理这些复杂情况。

对于嵌套对象,工具会用点号连接外层键名与内层键名。例如 {"customer":{"name":"王小美","vip":true}} 转换后会得到 customer.namecustomer.vip 两列。而如果某个字段的值是一个数组,比如 tags:["新客","高价值"],该单元格将被填入 ["新客","高价值"] 这样的 JSON 字符串表示。对于数组内包含对象的情况,同样会以 JSON 字符串的形式完整保留,你可以在 Excel 中通过公式或脚本进一步解析。

特殊字符的处理同样关键。假设商品名称中出现了英文逗号或者双引号,例如“礼品卡,100元”,CSV 规范要求整个字段用双引号包裹,且字段内的双引号需要加倍为两个双引号。JSON 转 CSV 工具已经为你实现了这些细节,生成的结果符合 RFC 4180 标准,可以放心在各类表格软件中使用。如果你拿到的 CSV 数据想恢复成原始 JSON,可以尝试 CSV 转 JSON,但需注意数组列会保持字符串形态。

JSON 转 CSV 是无损转换吗?

很多用户关心:将 JSON 转换为 CSV 后,还能否完整还原成原来的 JSON?答案是否定的,JSON 转 CSV 通常不是一种可逆的无损转换。这主要由两种格式的本质差异决定。

第一,数据类型信息会丢失。JSON 明确区分数字、布尔值、null 和字符串,而 CSV 中所有单元格内容均为文本。一个 "age": 29 转换后变成字符串 29,虽然看上去一样,但再转回 JSON 时可能变成 "age": "29",除非转换工具做了智能推断。同样,"active": true 会变成字符串 true

第二,嵌套结构和数组被压平或序列化后,原始层级关系难以自动恢复。例如扁平化的列名 address.city 在反向转换时,很难自动重建出 "address": {"city": "北京"} 的嵌套对象。数组序列化后,除非约定特定格式,否则也会被当作普通字符串。

因此,JSON 转 CSV 更适合于数据分析与展示场景,而不是作为数据备份格式。如果你确实需要双向转换,建议保留原始 JSON 文件作为源。当然,简单扁平结构的 JSON 转换为 CSV 后再通过 CSV 转 JSON 转回是可以近似还原的,但数值和布尔类型可能需要手动修正。

典型应用场景:从 API 到 Excel 报表

在国内的开发与运营协作中,JSON 转 CSV 工具扮演着数据格式“转换器”的角色。最典型的场景就是处理 API 返回的 JSON 数据。比如你调用了一个聚合支付的交易查询接口,得到当天所有支付流水的一个 JSON 数组。运营部门需要将这些流水在 WPS 表格中进行对账和透视分析,你只需将 JSON 数组粘贴到工具,立刻就能得到一份整齐的 CSV 文件发送给他们。

另一个常见场景是批量导出配置或用户数据。很多 SaaS 平台允许通过数据导出接口获取 JSON 格式的用户列表、订单列表等,但业务人员更习惯使用电子表格进行筛选、排序和制作图表。JSON 转 CSV 工具免去了你编写 Python 脚本或使用复杂 Excel 插件的麻烦。

此外,在系统迁移或数据交换中,常有需要将 JSON 格式的日志或埋点数据导入关系型数据库的情形。绝大多数数据库客户端(如 Navicat、DBeaver)都支持直接导入 CSV 文件,通过本工具先完成格式转换,可以大大减少数据入库的工作量。如果你还需要将同一个 JSON 数据转换为 XML 用于其他系统对接,不妨试试 JSON 转 XML 工具,它同样提供了简单直观的界面。

使用 JSON 转 CSV 的常见问题与最佳实践

在使用 JSON 转 CSV 工具的过程中,有一些容易被忽略的细节值得注意,这能让你的工作流程更加顺畅。

首先是数组内对象键名不一致的问题。比如数组的第一个对象有 nameage,第二个对象有 nameemail,工具会自动合并所有出现过的键作为列标题,缺失的字段在对应行留空。这符合预期,但你在导入数据库或进行数据分析时需要了解哪些行可能缺少某些字段。

其次,如果 JSON 数据量非常大,比如超过十万行,单次转换可能导致浏览器卡顿。建议将大文件拆分为多个小块分批转换,或使用命令行工具处理。同时注意数据隐私。尽管 JSON 转 CSV 工具通常在客户端运行,不会上传到服务器,但处理包含身份证号、手机号等敏感信息的 JSON 时,最好在本地环境脱敏后再进行操作。

保存 CSV 文件时,强烈建议使用带有 BOM 的 UTF-8 编码,否则用 Excel 直接打开时中文可能会乱码。你可以用记事本另存为 UTF-8,或者使用支持编码选择的编辑器。转换后的 CSV 可以在 CSV 转 JSON 中再次利用,但如果 CSV 列中包含序列化的数组,反向转换时这些列将保持文本形式。

我们回答最多的问题

JSON 转 CSV 这个工具主要用来解决什么问题?

JSON 转 CSV 可以把 JSON 格式的数组对象自动转换成 CSV 表格。当您从 API 接口拿到数据,需要导入 Excel、Google 表格或数据库时,不用手动整理字段,工具会直接提取所有 JSON 对象的键作为列标题,把值填进对应行,一键生成可用的 CSV 文件。如果您需要反向操作,也可以试试 [[3739|CSV 转 JSON 工具]]。

如何使用 JSON 转 CSV 工具?

使用很简单:把 JSON 数据粘贴到输入框,或者直接拖入 JSON 文件,工具会立刻解析并生成 CSV 预览。您可以选择分隔符(默认逗号),然后点击下载或复制 CSV 内容。如果 JSON 结构比较复杂,建议先用 [[3818|JSON 格式化工具]] 美化并检查数据,确保输入是 JSON 数组格式(由方括号包裹的对象列表),这样转换结果最准确。

JSON 和 CSV 这两种格式最大的区别是什么?

JSON 是层次化的数据交换格式,支持嵌套对象和数组,适合程序间通信;CSV 则是纯文本的二维表格,用逗号分隔字段,结构扁平,更适合电子表格处理和批量导入数据库。JSON 结构灵活但数据量大时可读性会下降,CSV 简洁直观,非技术人员也能快速理解。简单说,JSON 重在灵活描述数据关系,CSV 重在直接呈现行列数据。

嵌套的 JSON 对象在转换成 CSV 时会变成什么样?

JSON 转 CSV 工具会自动压平嵌套对象,使用点号(.)将嵌套路径连接为列名。例如,{"user":{"name":"张三","age":25}} 会生成列 'user.name' 和 'user.age'。对于 JSON 数组内的简单值,工具会将数组元素展开为多行,或者用分隔符串成单个单元格的内容,具体取决于转换设置。这样既保留了原始层级信息,又符合 CSV 的二维表格特性。

数据里包含逗号、引号或换行符,转成 CSV 会不会乱掉?

不会。JSON 转 CSV 工具会自动按照 CSV 标准进行转义:字段内含有逗号、双引号或换行符时,会将整个字段用双引号括起来,并将字段内的双引号用两个双引号("")表示。这样生成的 CSV 可以安全地在 Excel、Google Sheets 和大多数数据处理程序中正确解析,不会导致列错位或数据截断。

JSON 转 CSV 的转换过程会丢失数据吗?

对于结构扁平的 JSON 对象数组,转换是完全保留的,每个字段和值都会完整写入 CSV。如果源数据包含深层嵌套、动态键或混合类型,转换后的 CSV 会压平为带点号的列,数组可能被序列化成字符串,导致丢失原始类型和层级信息。日常分析中 CSV 版本完全够用,如需完全无损保留层级结构,可以考虑 [[3811|JSON 转 XML 工具]] 来维持树形数据。

什么时候该用 JSON,什么时候该用 CSV?

当您需要在系统间交换结构化数据、存储配置、接收 API 响应或者数据具有多层嵌套关系时,JSON 是更好的选择。而 CSV 更适合数据已整理为表格形式,需要导入 Excel、做透视分析、生成报表或提供给业务人员自助查看的场景。JSON 转 CSV 正好连接这两个场景,先用程序输出 JSON,再用工具转成 CSV,方便分享和离线分析。