CSV/JSON互转工具

在 CSV 与 JSON 数组间双向转换,支持表头、逗号、分号、制表符及带引号的多行字段。

工具资源加载中...

CSV / JSON 互转工具介绍

CSV 与 JSON 互转工具用于整理分隔符表格、接口示例和结构化数据。支持逗号 CSV、Tab 制表符分隔文本和分号分隔文本;CSV 可以按首行表头生成 JSON 对象数组,也可以保留为二维数组。JSON 转 CSV 接受对象数组或等宽二维数组,提供结果复制和 TXT 文本导出。转换在当前浏览器内完成,无需上传表格内容。

多种分隔符

手动选择逗号、制表符或分号,不自动猜测。输入支持 CRLF、LF、CR 行分隔与开头的一个 BOM。

引用与多行字段

严格识别双引号字段、字段内换行和两个双引号表示的一个引号,保留字段空格及 001 等前导零。

对象与二维数组

对象数组按键首次出现在原文中的顺序合并列名,缺少的字段输出为空;二维数组保持原有列顺序。

CSV 与 JSON 转换使用步骤

  1. 选择“CSV 转 JSON”或“JSON 转 CSV”,粘贴对应格式的文本。
  2. 选择 CSV 分隔符。CSV 转 JSON 时,勾选表头得到对象数组,取消勾选得到二维数组。
  3. JSON 转 CSV 时,对象数组可以选择是否输出表头;二维数组不额外生成表头,选项不影响其已有记录。
  4. 点击“开始转换”,查看结果。若出现行宽、引号或数据类型错误,请修正输入后重新转换。
  5. 复制结果或导出 TXT 文本。“加载示例”按当前方向载入数据并立即转换,包含多行字段和引号示例。

CSV 引号、字段类型与转换示例

CSV name,code 加一条记录 小K,001,启用表头后得到 [{"name":"小K","code":"001"}]。所有 CSV 字段均作为字符串,数字、true 和 null 字样不会自动转换类型;前导零和字段首尾空格保持原样。

含分隔符、双引号或换行的字段必须使用双引号包围,字段内一个双引号写为两个。例如 "他说""你好""" 解析为 他说"你好"。闭合引号后不能添加额外空格或其他字符,CSV 不支持使用反斜杠代替双引号转义。

JSON 对象数组 [{"a":1},{"b":true,"a":2}] 的列顺序为 a、b,缺失字段为空;null 也输出为空字段,布尔值输出 true 或 false。数组与对象嵌套值会提示错误,需要先转成字符串。JSON 数字使用浏览器数值表示,1.2300 可能输出为 1.23;超出安全数值范围或非零数字下溢会拒绝,精确编号与金额建议使用字符串。

输入限制与使用场景

输入最多 1 MiB,输出最多 4 MiB,均按 UTF-8 字节计;最多 5000 条数据记录和 500 列。CSV 表头不计入数据记录条数。空白输入不能转换,但引用的空字符串是有效字段;对象表头不能为空或重复,CSV 记录列数必须一致,JSON 对象也不能包含重复键。CSV 转 JSON 时仅有合法表头、没有数据记录,会得到空数组。

JSON 输入必须为非空对象数组或等宽二维数组,不能混用两种记录形式;对象的列名按原文首次出现顺序取并集,不排序。CSV 输入中一个文件末尾换行不会额外产生记录,记录中间的空行则会按真实的单列空记录处理并参与列数检查。null、缺少字段和空字符串转 CSV 后均为空字段,反向转换不能恢复它们原来的区别。

适合把表格导出的 CSV 整理成接口 JSON、将简单 JSON 列表转换成分隔符文本,以及核对包含中文、引号和换行的表格字段。不支持 Excel 工作簿、嵌套 JSON 展平或自动推断字段类型。需要先整理 JSON 排版可使用 JSON 格式化工具,处理单个字符串的引号转义可使用 JSON 字符串转义还原工具。

CSV 与 JSON 互转常见问答

为什么 CSV 中的数字变成 JSON 字符串?

CSV 本身没有可靠的数据类型定义。统一保留为字符串可以保护前导零、长编号和日期写法,避免把 001 改成 1 或把文字误识别为布尔值。

为什么带逗号的内容被分成多列?

选择逗号分隔时,字段内部的逗号需要放在双引号字段中,例如 "北京,上海"。如果原文使用分号或 Tab,请切换到正确的分隔符。

不同对象缺少部分键可以转换吗?

可以。工具收集全部记录中首次出现的键作为列,某条记录缺少该键时输出空字段。但所有记录必须都是简单对象,不能混入数组、null 或其他值。

可以处理嵌套对象或导出 Excel 文件吗?

本工具不展开嵌套对象或数组,也不生成 Excel 工作簿。结果按 CSV 或 JSON 文本显示,下载复用公共 TXT 导出方法,文件扩展名为 .txt。

大整数怎样转换才不会丢失?

请在 JSON 中使用带双引号的字符串,例如 "9007199254740993123"。工具会检查数字原文,拒绝超出安全数值范围的数字,不把它们默默转换为近似值。