跳到主内容

JSON ↔ CSV 互转

JSON ↔ CSV 互转

CSV/TSV 与 JSON 双向转换,支持分隔符自动识别、首行表头映射、字段去空格与空行跳过。适用于数据导入导出、表格处理与 API 数据准备。

JSON ↔ CSV 互转

🚀 快速开始

  • 在右侧 CSV 编辑器中粘贴或输入 CSV/TSV 数据,左侧 JSON 会自动同步
  • 也可以在左侧 JSON 编辑器中输入 JSON,右侧 CSV 同样会自动同步
  • 分隔符默认为「自动」,工具会根据首行内容自动判断使用的是逗号、Tab、分号还是竖线
  • 开启「使用表头」后,CSV 首行会被作为 JSON 对象的键名;关闭后转为二维数组
  • 「去除字段首尾空格」和「跳过空行」开关可清理不规范的 CSV 数据
  • 每个编辑器可单独下载:JSON 侧下载 .json 文件,CSV 侧根据当前分隔符下载 .csv 或 .tsv 文件

📌 常见使用场景

  • Excel 导出转 JSON:从 Excel 复制数据粘贴到 CSV 侧(Tab 分隔),自动转为 JSON 对象数组
  • API 响应转表格:将 JSON 格式的 API 响应转为 CSV,导入 Excel 或 Google Sheets 分析
  • 数据库导入准备:将 CSV 数据转为 JSON 格式,便于通过 API 批量导入数据库
  • 日志分析:将 CSV 格式的日志转为 JSON,方便用 jq 等工具结构化查询
  • 配置迁移:在 CSV 格式的配置映射表与 JSON 配置文件之间转换
  • 数据清洗:利用「去空格」和「跳过空行」快速清理从外部系统导出的脏数据

🧭 使用建议

  • 从 Excel 复制粘贴的数据通常以 Tab 分隔,工具的自动检测可以正确识别;如果误判,可手动选择分隔符
  • 开启「使用表头」时,首行不会被当作数据行;如果 CSV 没有表头,关闭此选项以避免丢失第一行数据
  • 若 CSV 表头中存在重复列名,工具会自动添加后缀(如 name、name_2)以确保 JSON 键名唯一
  • JSON → CSV 转换适用于扁平的对象数组;嵌套对象或数组会被序列化为 JSON 字符串作为字段值
  • CSV 字段中包含分隔符、换行或双引号时,工具会自动用双引号包裹并正确转义

⚠️ 限制与兼容性

  • CSV 是扁平的表格格式,无法原生表达嵌套结构;嵌套的 JSON 对象/数组会被序列化为字符串,反向转换无法还原
  • CSV 中所有值都是字符串;数字、布尔值等类型信息在 JSON → CSV → JSON 往返后可能变为字符串
  • 工具自动去除 UTF-8 BOM(\uFEFF),但不支持其他编码(如 GBK/Shift-JIS),需先转换为 UTF-8
  • 与 JSON 共享 JavaScript IEEE 754 浮点数精度限制,超过 53 位的大整数可能丢失精度

🔒 隐私与安全

  • 所有处理均在您的浏览器内完成,数据不会离开您的设备

❓ 常见问题

什么是 CSV?它和 TSV/Excel 有什么关系?

CSV(Comma-Separated Values,逗号分隔值)是一种纯文本表格格式,每行是一条记录,字段之间用逗号分隔。TSV 是 Tab 分隔的变体。Excel 可以打开和导出这两种格式,但 Excel 自身的 .xlsx 是二进制格式。本工具处理的是纯文本 CSV/TSV,不是 .xlsx 文件。 历史上 CSV 没有统一标准,直到 2005 年 RFC 4180 才规范了基本格式:字段用逗号分隔、双引号包裹含特殊字符的字段、双引号内的双引号用两个双引号转义。不同软件对 CSV 的处理仍有细微差异,这也是很多人在导入导出时遇到问题的原因。

分隔符「自动」识别的原理是什么?会不会误判?

工具取 CSV 首行,分别统计逗号、Tab、分号、竖线在引号外出现的次数,选择出现最多的作为分隔符。对于绝大多数规范的 CSV/TSV 数据,自动识别是准确的。可能误判的情况:只有一列的数据(没有分隔符出现)、字段内容恰好大量包含某种分隔符字符。遇到误判时手动选择即可。

开启「使用表头」和关闭有什么区别?

开启时,CSV 首行被视为列名,每条数据转为以列名为键的 JSON 对象(如 {"name": "Alice", "age": "30"})。关闭时,所有行包括首行都被视为数据,转为二维数组(如 [["name", "age"], ["Alice", "30"]])。反向转换时,开启表头会在 CSV 首行输出 JSON 对象的键名。

JSON 中有嵌套对象,转为 CSV 后还能转回来吗?

不能完全还原。JSON → CSV 时,嵌套的对象或数组会被 JSON.stringify 序列化为字符串放入单元格。CSV → JSON 时,这些字段会保持为字符串,不会自动反序列化为对象。如果需要处理嵌套结构,建议先将 JSON 展平再转换。

从 Excel 复制粘贴的数据能直接转换吗?

可以。从 Excel 复制单元格区域,粘贴到 CSV 编辑器后,数据会以 Tab 分隔。工具的自动分隔符检测会正确识别为 TSV 并转换。如果要下载结果为 CSV 文件(逗号分隔),将分隔符手动切换为逗号即可。

CSV 字段中的引号和换行怎么处理?

遵循 RFC 4180 规范:当字段内容包含分隔符、换行符或双引号时,整个字段用双引号包裹;字段内的双引号用两个连续双引号("")转义。工具在输入解析和输出生成时都遵循此规则。如果输入的引号未正确闭合,会提示「CSV 引号未闭合」错误。