一、先给结论

能,而且一步到位。「CSV转换」这个本地页收 CSV、TSV、TXT,读进来之后能直接导出 JSON,输出形态总共有八种,其中就有 JSON 对象数组和 JSON 二维数组。这一步是纯前端,这一步在浏览器里完成,文件不上传到服务器,涉密表格不用先评估能不能上传。一句话划边界:能把分隔符文本转成 JSON,不能直接解析 XLSX(那是表格文件,走「Excel转CSV」那条线)。

二、八种输出形态,各用在什么地方

同一份表,给不同的人看要不同的样子,所以这里把常见出口都备齐了。下表按用途挑最常用的几种:

使用场景建议输出形态为什么这样选
交给接口或前端消费JSON 对象数组每行变成一个带键名的对象,读起来直观
脚本按位置逐格取值JSON 二维数组只留值的嵌套数组,体积更小不含键名
用表格软件双击打开看中文带 BOM 的 CSVBOM(文件开头那三个标识字节)让表格软件认得出 UTF-8
给只吃纯 UTF-8 无 BOM 的程序不带 BOM 的 CSV少了开头几个字节,免得程序把 BOM 当成第一格内容
换一种分隔符继续文本处理TSV(Tab 分隔的文本表)制表符分隔,避开逗号本身出现在数据里的麻烦
只要其中某几列先勾列、筛选调序再导出预览能逐列取舍,出来的 JSON 也只带留下的列

JSON 对象数组与二维数组的区别要点:前者每一行是 `{"姓名":"张三","年龄":"28"}` 这样带字段名的对象,后者是 `["张三","28"]` 这样按列顺序排的数组,选哪个取决于下游程序认键名还是认位置。

三、分隔符与编码怎么自动判定,判错了怎么纠正

这一步的判定规则值得讲清楚,因为它是「转出来挤成一列」的根因。

分隔符是自动识别的:程序去看表头那一行里逗号、分号、Tab、竖线各出现了多少次,出现最规律的那一个被选为分隔符。所以如果你的数据里某一列本身含逗号(比如地址),偶尔会判错——判错不将就,直接在分隔符下拉里手选正确的那个。编码同样支持自动,也能手动指定 UTF-8 或 GBK;从老系统导出的 ANSI 文件,手动选 GBK 才不会乱码。首行是不是表头也可以勾选:勾上,第一行会被当字段名(对象数组的键名就来自它);不勾,就按纯数据行处理。引号规则按 RFC4180(一份 CSV 的通用写法规范)来,被双引号包住、里面含逗号的内容不会被错切。预览按 100 行 × 30 列给,超大文件先看头一段对不对,再决定导不导。

四、按这个顺序转,一次成功

  1. 先看分隔符:打开后确认列被切开了、没有整行挤在一格里;挤在一起就手选正确的分隔符。
  2. 再定表头:数据第一行确实是字段名就勾上「首行为表头」,否则取消勾选。
  3. 处理编码:中文正常显示就不用管;乱码就把读入编码在 UTF-8 与 GBK 间换一次。
  4. 选输出形态:给接口选 JSON 对象数组,给脚本选二维数组(详见第三节表)。
  5. 需要时先筛列、调列序,再导出,避免把无关列一起带出去。

五、别做这几件事

  • 别把 .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 则走表格那条线。