功能简介
这个工具可以把 CSV(逗号分隔值)转换成 JSON,也可以把 JSON 转回 CSV。表格软件、数据库和数据分析工具导出的通常是 CSV,而接口、JavaScript 代码和配置文件需要的是 JSON。粘贴任意一种格式,另一种格式马上就会出现。
解析器遵循 CSV 标准 RFC 4180:字段可以用双引号包起来,引号字段里的双引号写成两个(""),引号字段里可以包含逗号和换行。Windows(CRLF)和 Unix(LF)换行都支持,Excel 导出文件开头的 UTF-8 BOM 会被自动去掉。
使用方法
- 把 CSV 粘贴到「输入」框,或把
.csv、.tsv文件拖进去,也可以点「示例」。 - 「分隔符」保持「自动识别」,或手动选择逗号、分号(欧洲版 Excel 常用)、Tab 或竖线。
- 打开「第一行是表头」时,输出是以列名为键的对象数组;关闭后输出二维数组。
- 打开「识别数字和布尔值」时,
42会变成数字,true会变成布尔值;关闭后所有单元格都保留为文本。 - 把「方向」切换到 JSON → CSV 即可反向转换。复制或下载结果。
JSON 转 CSV 时,输入应该是对象数组。列是所有对象键的并集,按第一次出现的顺序排列,缺少某个字段的行会得到空单元格。包含分隔符、双引号或换行的单元格会自动加引号。
示例
id,name,active
1,Ada Lovelace,true
2,"Turing, Alan",false
会变成
[
{ "id": 1, "name": "Ada Lovelace", "active": true },
{ "id": 2, "name": "Turing, Alan", "active": false }
]
处理不规范的文件
空的表头单元格会被命名为 column1、column2 等,重复的列名会加上后缀(如 name_2),所以不会有值被覆盖。比表头短的行用空字符串补齐,多出来的单元格会得到自己的列名。如果某个引号字段没有闭合,错误提示会给出它开始的准确行号和列号。
常见问题
› 我的 CSV 会被上传到服务器吗?
不会。解析和转换都在你的浏览器里完成,包含客户或业务数据的文件不会离开你的设备。
› 分隔符是怎么自动识别的?
选「自动识别」时,工具会统计第一行里逗号、分号、Tab 和竖线出现的次数(引号内的不算),取最多的那个。如果识别错了,手动选择分隔符即可。
› 为什么很长的数字被保留成了字符串?
JavaScript 的数字超过 15 到 16 位就会丢失精度,所以订单号、手机号、卡号这类长整数会保留为字符串。像 007 这样有前导零的值也会保留为文本。
› JSON 转 CSV 时,嵌套的对象怎么处理?
嵌套的对象和数组会以紧凑 JSON 的形式写进一个单元格,数据不会丢失,之后还能再解析回来。