CSV 转 JSON
在浏览器中将 CSV 或 TSV 转换为 JSON。自动检测分隔符,处理引号和 BOM,并预览前几行。
在浏览器中本地处理,你的文件不会被上传。
这个工具能做什么
拖入 .csv 文件或粘贴 CSV 文本,立即得到 JSON 数组。解析器遵循人们实际遇到的 CSV 惯例:带引号的字段、引号内的逗号和换行、用双引号表示转义、Windows 或 Unix 换行符,以及 Excel 带来的 UTF-8 字节顺序标记。分隔符(逗号、分号、制表符或竖线)会被自动检测,对于使用分号的欧洲式导出文件,你也可以自己指定。
选择你需要的结构:以表头行为键的对象数组(最适合 API 和应用),或数组的数组(最适合紧凑的数据和图表)。打开自动类型后,数字、true/false 和空单元格会被转换为真正的 JSON 值;带前导零的数字(如邮政编码)以及超出 JavaScript 安全表示范围的长 ID 会保留为文本,因此不会损坏任何数据。输出可选 2 个或 4 个空格缩进、制表符缩进或压缩格式。
预览表格会显示前 100 行。诸如字段过少或过多的行、未闭合的引号和重复的列名等问题,会连同行号一起列出,数据仍会被转换(较短的行会被补齐,多余的单元格会生成新列,重复的列名会加上 _2)。超过 1 MB 的文件会在后台 worker 中解析并显示进度条,因此大型导出文件不会让页面卡住。
使用方法
- 1拖入 CSV 文件,或把 CSV 文本粘贴到框中。
- 2将分隔符保持为“自动检测”,或选择逗号、分号、制表符或竖线。说明第一行是否为表头。
- 3选择 JSON 结构、自动类型和缩进。较小的输入会随着输入实时转换;大文件请点击“转换”。
- 4查看预览和报告的问题,然后复制或下载 JSON。
支持的格式
输入:UTF-8 编码的 .csv、.tsv 或 .txt 文件以及粘贴的文本。输出:JSON(.json),为对象数组或数组的数组。
隐私
此工具在你的浏览器中运行。你提供的数据在你的设备上处理,不会发送到我们的服务器。
限制
- 整个文件会被读入内存,因此非常大的 CSV(数百 MB)在内存较小的设备上可能很慢或失败。大小限制会显示在拖放区域中。
- 文件必须是 UTF-8(带 BOM 也可以)。Windows-1252 或 Shift-JIS 等其他编码可能会显示乱码;请先把文件另存为 UTF-8。
- 自动类型只是启发式判断:像 1e3 这样的值会变成数字,“true”会变成布尔值,这可能并不是文本列的本意。关闭该选项可把所有值保持为字符串。
- 日期不会被转换,保持为文本。
- 预览只显示前 100 行,对于特别大的结果,页面上的 JSON 文本会被截短(复制和下载包含全部内容)。
常见问题
我的 CSV 会被上传到服务器吗?
不会。解析和转换都在你的浏览器中运行,大文件则使用你设备上的后台 worker。
分隔符检测是怎么工作的?
工具会在前几行上尝试逗号、分号、制表符和竖线,并选出得到的列数最一致的那个。如果文件比较特殊,你可以手动覆盖。
字段数不对的行会怎样处理?
它们会连同行号一起被报告。较短的行会用空值补齐,多出的单元格会保留在名为 column_N 的新列中,因此不会悄悄丢弃任何数据。
为什么我的邮政编码仍然是字符串?
开启自动类型后,带前导零的值会保留为字符串,这样“02134”不会变成 2134。超出 JavaScript 安全范围的大整数也会保留为字符串。
没有表头行也能转换吗?
可以。关闭表头选项;各列会被命名为 column_1、column_2,依此类推,每一行都被视为数据。