UFOZoo

JSON转CSV — 即时批量数据导出在线工具

JSON 转 CSV 工具,将 JSON 数组或对象转换为 CSV 格式。自动扁平化嵌套结构,支持自定义分隔符和表头选项。

功能特性

  • 即时 JSON 转 CSV 转换 —— 粘贴数据后自动转换,无需点击按钮
  • 自动扁平化嵌套对象,使用点号表示法(如 user.address.city)
  • 支持复杂嵌套结构,包括对象、数组和混合类型数据
  • 可自定义 CSV 分隔符 —— 逗号(,)、分号(;)或制表符(\t),适应不同地区标准
  • 切换表头显示 —— 可选择包含列名作为首行或仅导出数据
  • 表格预览带语法高亮 —— 下载前在类似电子表格的网格中清晰查看 CSV 数据
  • 一键保存为 .csv 文件 —— 兼容 Excel、Google Sheets、LibreOffice Calc 等任意表格应用
  • 拖拽打开或点击浏览 —— 支持 .json 文件,最大 10MB
  • 实时校验并精确定位错误 —— JSON 无效时高亮显示错误行位置
  • 处理边界情况 —— 特殊字符、值中的逗号、引号和换行符都会正确转义
  • 纯浏览器本地处理,断网也能用,数据绝不上传,适合敏感数据处理

使用方法

  1. 1在左侧面板粘贴 JSON 数据。可以是对象数组、单个对象或任意有效的 JSON 结构。
  2. 2观察嵌套对象如何自动使用点号表示法扁平化(user.name、user.address.city)。
  3. 3选择首选分隔符:逗号用于标准 CSV,分号用于欧洲格式,制表符用于 TSV 文件。
  4. 4根据目标应用需求,切换'包含表头'选项来添加或移除列标题行。
  5. 5在右侧面板预览转换后的 CSV,同时提供格式化表格和原始文本两种视图。
  6. 6点击保存按钮保存为 .csv 文件,可直接在 Excel、Google Sheets 或 Numbers 中打开。
  7. 7拖拽 .json 文件到输入区域即可加载转换。
  8. 8查看扁平化后的列名——工具对嵌套字段使用点号表示法如 address.city 或 items[0].name。
  9. 9将 CSV 输出直接复制到剪贴板并粘贴到 Excel 或 Google Sheets 中,无需保存文件。

常见问题

嵌套对象扁平化是如何工作的?

嵌套对象默认使用点号表示法进行扁平化。例如 {user: {name: 'Alice', address: {city: 'NYC'}}} 会变成 user.name 和 user.address.city 两列。数组会索引为 items[0].name、items[1].name 的形式。这种方式在创建扁平 CSV 行的同时保留了层级关系。

应该使用哪种分隔符?

逗号(,)是大多数应用和英语环境的标准。分号(;)在欧洲国家很常见,因为那里用逗号作为小数分隔符。制表符(\t)生成 TSV 文件,适用于数据包含大量逗号的情况。根据目标应用的导入要求选择即可。

可以转换大型 JSON 文件吗?

可以,没有严格的文件大小限制,但超大文件(10MB+)可能会导致浏览器变慢。对于典型用例 —— 最多 10,000 行的 API 响应、配置文件、数据库导出 —— 都能瞬间处理完成。如果需要转换超大数据集(10万行以上),建议使用命令行工具如 jq 或 Python 的 pandas 库。

如何处理值中的特殊字符?

完全支持。包含逗号的值会被双引号包裹。值内的引号通过双写转义(")。值内的换行会被保留并且该值会被引号包裹。空值变成空单元格。这遵循 RFC 4180 CSV 标准,确保与 Excel、Google Sheets 和所有主流表格应用兼容。

支持哪些 JSON 结构?

支持对象数组(最常见)、单个对象和混合结构。每个对象变成 CSV 中的一行。所有对象中的唯一键都成为列。缺失的值变成空单元格。嵌套对象和数组会自动扁平化。基本类型数组([1,2,3])会变成带有 value 列的单行。

我的数据会上传到服务器吗?

不会。所有转换完全在你的浏览器中使用 JavaScript 完成。你的 JSON 数据永远不会离开你的设备 —— 我们没有服务器可以发送。你甚至可以在页面加载后断开网络连接,它仍然能正常工作。这使得它适合转换客户列表、财务记录或 API 密钥等敏感数据。

可以在 Excel 或 Google Sheets 中使用吗?

可以!下载的 .csv 文件可以直接在 Excel、Google Sheets、LibreOffice Calc、Apple Numbers 和几乎所有表格应用中打开。只需点击下载然后打开文件 —— 不需要格式设置或导入向导。你也可以复制 CSV 文本并直接粘贴到表格单元格区域中。

在移动端可以使用吗?

可以,但桌面端体验更好。在移动端上,输入/输出面板会垂直堆叠,仍然可以预览和下载结果。表格视图适应小屏幕并提供水平滚动。处理大型数据集时,建议在平板电脑上使用横屏模式以获得最佳效果。

空值或缺失值如何处理?

缺失的字段在 CSV 输出中变为空单元格。如果一个对象有 email 字段而另一个没有,第二个对象的 email 单元格为空。null 值保留为空单元格。空字符串('')根据分隔符选择可能变为空但带引号的单元格。这遵循所有表格应用都能理解的标准 CSV 约定。

可以转换包含基本类型数组的 JSON 吗?

可以。对于 [1, 2, 3] 或 ['a', 'b', 'c'] 等数组,工具创建带 value 列的单个行。对于对象数组如 [{key: 'a', val: 1}, {key: 'b', val: 2}],每个对象成为一行,键作为列。混合类型数组(基本类型+对象)会智能处理,缺失字段补空值。

相关工具