跳到主内容
UniKit

JSON 转 CSV

把 JSON 对象数组转成 CSV / TSV:表头取键的并集,支持嵌套对象拍平成 a.b、自定义分隔符、引号转义、BOM 与行预览。

浏览器本地运行所有计算都在你的浏览器里完成,数据不会离开本机。

JSON 数组
CSV 结果
行数: 0列数: 0字节数: 0

这个工具能做什么

  • 把接口返回的 JSON 数组导成 CSV 丢进 Excel 或 Google Sheets,给非技术同事看或做二次筛选。
  • 整理埋点或导出数据:表头自动取所有对象键的并集,某些对象缺字段也不会错位。
  • 处理嵌套结构:默认把 meta.city 这类嵌套键拍平成 a.b 形式,也可以切换成整段序列化成 JSON 字符串保留原结构。
  • 给 Excel 打开中文文件:勾选「添加 UTF-8 BOM」后中文不会变乱码,还能顺手把分隔符换成制表符或分号。

示例

输入

[{"name":"Alice","age":30,"tags":["admin","beta"]},{"name":"Bob","age":25,"meta":{"city":"上海"}}]

输出

name,age,tags,meta.city
Alice,30,"[""admin"",""beta""]",
Bob,25,,上海

表头是两行对象键的并集,所以第一行有 meta.city 而第二行没有。数组会被序列化成 JSON 字符串并按 CSV 规则把内部双引号翻倍。

常见问题

为什么表头顺序和我写的不一样?

默认按「键首次出现的顺序」排列,遍历所有对象后取并集。想让列顺序稳定可预测,勾选「表头按字母排序」,这样每次导出的列顺序都一致,便于做版本对比。

嵌套对象和数组会怎么处理?

默认「拍平成 a.b」:嵌套对象逐层展开成点号路径(meta.city),数组则整体序列化成 JSON 字符串放在单元格里。切换成「序列化为 JSON 字符串」后,嵌套对象也整体序列化,适合结构差异大、不想拆列的场合。

中文在 Excel 里显示乱码怎么办?

勾选「添加 UTF-8 BOM」。Windows 版 Excel 在没有 BOM 时会按本地编码(GBK)猜测,中文就会变乱码;加上 BOM 后 Excel 能正确识别 UTF-8。如果用 Numbers 或 LibreOffice,通常不加也没问题。

顶层不是数组会怎样?

会提示「顶层需要是 JSON 数组」。这个工具只处理数组,单个对象需要自己包成 [ {…} ]。JSON 语法错误则会指出原因和位置,例如输入意外结束(括号或引号没闭合)、对象的键缺少冒号等。

数据会上传吗?

不会。解析、拍平与转义全部在浏览器里完成,页面不发起网络请求,断网可用;接口数据或用户信息不会被上传或记录。

关键词:jsoncsvtsvjson 转 csvexcel转换flatten嵌套对象bom

同类工具