CSV 转 JSON

粘贴或上传一个 CSV 文件,立即获得整洁的 JSON,表头会自动变成对象的键,数字和布尔值会被自动识别。

点击选择一个 .csv 文件,或将其拖放到此处

或者直接将 CSV 文本粘贴到下面的框中。

第一行是表头
格式化 JSON

输出


          

工作原理

文件通过浏览器的 FileReader API 读取,并由一个手写的单遍解析器按照 RFC 4180 规则解析:它逐字符遍历文本,同时跟踪当前是否处于带引号的字段内。这正是简单的「按逗号分割」转换器容易出错的地方:在引号内,逗号甚至换行符都属于该单元格的一部分,而双引号("")会被视为一个字面意义上的引号字符。分隔符的自动检测是实用型而非智能型的:它统计第一行中逗号、分号和制表符的出现次数,并选择出现次数最多的那个,这样就能正确处理欧洲版 Excel 导出常见的以分号分隔的 CSV 文件。

类型强制转换是你应该重点检查输出结果的地方。看起来像整数或小数的值会被转换成 JSON 数字,true/false 会被转换成布尔值。这通常是你想要的效果,但也意味着带前导零的值(比如邮编或分机号)会被输出为数字:01234 会变成 1234。如果某一列是标识符而不是数量,请在转换后进行核对。较短行中缺失的末尾单元格会变成空字符串,而不会导致整行出错。

解析、类型转换,甚至 .json 文件的下载(基于内存中的 Blob 构建)都在这个页面自身的 JavaScript 中完成。转换时打开开发者工具的 Network 标签页:不会有任何请求携带你的数据,因此客户名单和导出文件永远不会离开你的电脑。