为什么需要 JSON 转 CSV
JSON 是 API 返回数据、配置文件、NoSQL 数据库导出的标准格式——结构化、可嵌套、人类和机器都能读。但当你需要把数据交给非技术同事、导入 Excel 做透视表、或上传到数据分析平台时,对方大概率只接受 CSV。
// JSON 数组(API 返回的典型格式)
[
{"id":1, "name":"张三", "email":"zhang@example.com", "role":"admin"},
{"id":2, "name":"李四", "email":"li@example.com", "role":"editor"},
{"id":3, "name":"王五", "email":"wang@example.com", "role":"viewer"}
]
// 转为 CSV 后(可直接用 Excel 打开)
id,name,email,role
1,张三,zhang@example.com,admin
2,李四,li@example.com,editor
3,王五,wang@example.com,viewer
在线 JSON 转 CSV 的步骤
- 打开 JSON 转 CSV 工具。
- 粘贴 JSON 数组(必须是数组格式,如
[{...},{...}]),工具自动解析。 - 如果 JSON 中有嵌套对象,选择扁平化策略:点号路径展开(如
user.name)或保留 JSON 字符串。 - 在右侧「输出 CSV」框查看生成结果,确认无误后点击「下载 CSV」保存为 .csv 文件,或点「复制」复制到剪贴板。
点击下载的 CSV 文件可以直接用 Excel 打开(推荐使用"数据 → 自文本/CSV"方式导入以避免中文乱码)。
核心功能一览
JSON 数组 → CSV
自动解析 JSON 数组的第一层字段作为 CSV 表头,数据对齐为行列。
嵌套对象扁平化
对象中的子对象自动展开为 user.name、user.email 这样的列名。
下载 CSV(Excel 兼容)
一键将结果保存为 .csv 文件,自动添加 UTF-8 BOM,Excel 双击打开中文不乱码。
纯本地转换
JSON 数据在浏览器本地解析和转换,不经过服务器。
嵌套 JSON 处理策略
| 策略 | 示例输入 | CSV 输出 | 适用场景 |
|---|---|---|---|
| 点号展开 | {"user":{"name":"张三"}} | 列名 user.name | 嵌套结构均匀、需要分列分析 |
| 保留 JSON 字符串 | {"user":{"name":"张三"}} | 单元格为 {"name":"张三"} | 嵌套结构复杂、后续用代码处理 |
| 展开为多行 | {"orders":[{...},{...}]} | 每个订单一行 | 一对多关系,需要做关联分析 |
常见应用场景
- API 数据导出:后端接口返回的 JSON 数组,转成 CSV 发给产品经理/运营同事在 Excel 中分析。
- 数据库导出:MongoDB 等 NoSQL 数据库导出为 JSON 后,转为 CSV 导入 MySQL/PostgreSQL 或 BI 工具。
- 日志分析:JSON 格式的结构化日志转为 CSV,用 Excel 筛选、排序、透视分析。
- 数据迁移:将 A 系统的 JSON 导出转为 CSV 格式导入 B 系统。
常见问题 FAQ
嵌套 JSON(对象里面套对象)怎么转 CSV?
CSV 是扁平的二维表格,嵌套 JSON 需要先扁平化。速工具 默认用点号路径作为列名(如 user.name、user.email),也可以选择将嵌套对象整体转为一个包含 JSON 字符串的单元格。如果含有数组嵌套(如一个订单下有多个商品),可能需要先展开为多行再做分析。
转出来的 CSV 在 Excel 里中文全乱码了怎么办?
CSV 不含字符编码信息,Excel 默认用系统编码打开(中文 Windows 用 GBK),而转换器输出的是 UTF-8。本工具的「下载 CSV」已自动在文件头加入 UTF-8 BOM( 标记),用 Excel 直接双击打开即可正确显示中文;若改用「复制」粘贴或用其他来源的 CSV,可在 Excel→数据→自文本/CSV 导入时手动选择 UTF-8 编码。
JSON 转 CSV 安全吗?数据会上传吗?
速工具 的 JSON 转 CSV 在浏览器本地完成,JSON 数据不会上传到服务器。但不要在在线工具中处理包含真实敏感信息(客户隐私、支付数据等)的 JSON——虽不传数据,浏览器环境仍可能被其他脚本读取。
JSON 数组中的字段不一致怎么办?
如果数组中各对象的字段不完全相同——第一条有 phone 字段第二条没有——转换器取所有对象的所有字段的并集作为 CSV 表头,缺少某字段的行在对应列留空。这是正常行为,生成的 CSV 在所有数据分析工具中可正确读取。