CSV 转 JSON

把表格导出的 CSV 转成 JSON。单元格里的逗号和换行,只要用引号包住,就会保留下来。

按表格的规则读,而不是看见逗号就切开

姓名里有逗号、备注里有换行时,简单按逗号拆会错列。这里按常见表格的约定:双引号包住的字段里可以有分隔符和换行,字段里的引号要写成两个引号。

从 Excel 复制出来经常是制表符。有的地区导出 CSV 用分号,因为逗号被当成小数点。分隔符要跟文件一致,而不是跟你希望的一致。

怎么用

  1. 把表格贴进来,有表头就一起贴。开头的 UTF-8 BOM 会被去掉,第一列表头不会变成一个看不见的字符。
  2. 选分隔符。需要别的符号时选自定义,只填一个字符。
  3. 要对象数组就保持“第一行是表头”。没有表头时关掉它,或改成二维数组。
  4. 空的表头会变成 column_1 这样的键,避免出现空名字。
  5. 反向转换在 JSON 转 CSV。

结果里的值都是字符串

不会把 0012 猜成数字 12,否则商品编号前面的零会丢。需要数字时,在你自己的代码里按列转换。

某一行比表头短,缺的格子是空字符串。引号没有闭合会报错,而不是悄悄截断。这通常是单元格里的引号没有写成两个。

常见问题

第一列名字看起来空了一截?

多半是分隔符选错,整行被当成一列。在逗号、分号和制表符之间换一下。BOM 这一页会自己去掉。

几十万行可以吗?

计算在浏览器里。几万行通常没问题。特别大的导出会让标签页变慢,先把文件拆开。