一、先给结论
能,而且一步到位。「CSV转换」这个本地页收 CSV、TSV、TXT,读进来之后能直接导出 JSON,输出形态总共有八种,其中就有 JSON 对象数组和 JSON 二维数组。这一步是纯前端,这一步在浏览器里完成,文件不上传到服务器,涉密表格不用先评估能不能上传。一句话划边界:能把分隔符文本转成 JSON,不能直接解析 XLSX(那是表格文件,走「Excel转CSV」那条线)。
二、八种输出形态,各用在什么地方
同一份表,给不同的人看要不同的样子,所以这里把常见出口都备齐了。下表按用途挑最常用的几种:
| 使用场景 | 建议输出形态 | 为什么这样选 |
|---|---|---|
| 交给接口或前端消费 | JSON 对象数组 | 每行变成一个带键名的对象,读起来直观 |
| 脚本按位置逐格取值 | JSON 二维数组 | 只留值的嵌套数组,体积更小不含键名 |
| 用表格软件双击打开看中文 | 带 BOM 的 CSV | BOM(文件开头那三个标识字节)让表格软件认得出 UTF-8 |
| 给只吃纯 UTF-8 无 BOM 的程序 | 不带 BOM 的 CSV | 少了开头几个字节,免得程序把 BOM 当成第一格内容 |
| 换一种分隔符继续文本处理 | TSV(Tab 分隔的文本表) | 制表符分隔,避开逗号本身出现在数据里的麻烦 |
| 只要其中某几列 | 先勾列、筛选调序再导出 | 预览能逐列取舍,出来的 JSON 也只带留下的列 |
JSON 对象数组与二维数组的区别要点:前者每一行是 `{"姓名":"张三","年龄":"28"}` 这样带字段名的对象,后者是 `["张三","28"]` 这样按列顺序排的数组,选哪个取决于下游程序认键名还是认位置。
三、分隔符与编码怎么自动判定,判错了怎么纠正
这一步的判定规则值得讲清楚,因为它是「转出来挤成一列」的根因。
分隔符是自动识别的:程序去看表头那一行里逗号、分号、Tab、竖线各出现了多少次,出现最规律的那一个被选为分隔符。所以如果你的数据里某一列本身含逗号(比如地址),偶尔会判错——判错不将就,直接在分隔符下拉里手选正确的那个。编码同样支持自动,也能手动指定 UTF-8 或 GBK;从老系统导出的 ANSI 文件,手动选 GBK 才不会乱码。首行是不是表头也可以勾选:勾上,第一行会被当字段名(对象数组的键名就来自它);不勾,就按纯数据行处理。引号规则按 RFC4180(一份 CSV 的通用写法规范)来,被双引号包住、里面含逗号的内容不会被错切。预览按 100 行 × 30 列给,超大文件先看头一段对不对,再决定导不导。
四、按这个顺序转,一次成功
- 先看分隔符:打开后确认列被切开了、没有整行挤在一格里;挤在一起就手选正确的分隔符。
- 再定表头:数据第一行确实是字段名就勾上「首行为表头」,否则取消勾选。
- 处理编码:中文正常显示就不用管;乱码就把读入编码在 UTF-8 与 GBK 间换一次。
- 选输出形态:给接口选 JSON 对象数组,给脚本选二维数组(详见第三节表)。
- 需要时先筛列、调列序,再导出,避免把无关列一起带出去。
五、别做这几件事
- 别把 .xlsx 传进来找 JSON:这一档不解析 XLSX,表格文件请先走「Excel转CSV」导出成 CSV,再回来。
- 别默认分隔符一定是逗号:分号、Tab、竖线分隔的文本一样常见,判错不纠正会得到整行只有一列的产物。
- 别用带 BOM 的 CSV 去喂敏感下游:个别严格程序会把开头 BOM 当成内容的一部分,这种场景改选不带 BOM 的 CSV。
- 别只盯预览下结论:预览是 100 行 × 30 列,长尾列和后面的行不在预览里,导出前心里有数。
六、分场景怎么选
- 要把一份导出的订单表塞进 mock 数据:JSON 对象数组最省事,字段名现成。
- 表里含中文,还要发给用表格软件的人看:出带 BOM 的 CSV,双击不乱码。
- 想把逗号分隔换成 Tab 再进别的文本工具:出 TSV。
- 想转完再顺手压缩、校验 JSON:产物贴进 JSON格式化 接着弄。
- 想转成能算的表格文件:本页出的是文本与 JSON,要 XLSX 走 CSV转Excel。
常见问题
问:我这份是用分号隔开的,还能转成 JSON 吗?
答:能,分号、Tab、竖线都在自动识别之列;万一它判错,你在分隔符下拉里手动选成分号,列立刻被切开。
问:转出来的 JSON 键名是从哪来的?
答:来自被认定为表头的第一行,所以要勾「首行为表头」;不勾或数据本就没表头时,就只能出二维数组形态,没有键名。
问:用表格软件双击打开产物中文乱码,是不是转坏了?
答:不是,多半是没带 BOM。改选「带 BOM 的 CSV」再导出,或在表格软件里用「从文本/CSV」导入并把原始格式选成 UTF-8。
本站入口
站内 CSV转换,在浏览器里把 CSV、TSV、TXT 转成含 JSON 对象数组、二维数组、带或不带 BOM 的 CSV 等八种形态,文件不上传。转出 JSON 后可交给 JSON格式化 再美化或校验,需要 XLSX 则走表格那条线。