CSV 轉 JSON

把試算表匯出的 CSV 轉成 JSON。儲存格裡的逗號和換行,只要用引號包住就會保留。

按表格的規則讀,而不是看見逗號就切開

姓名裡有逗號、備註裡有換行時,簡單按逗號拆會錯列。這裡按常見表格的約定:雙引號包住的字段裡可以有分隔符和換行,字段裡的引號要寫成兩個引號。

從 Excel 複製出來經常是製表符。有的地區導出 CSV 用分號,因為逗號被當成小數點。分隔符要跟檔案一致,而不是跟你希望的一致。

怎麼用

  1. 把表格貼進來,有表頭就一起貼。開頭的 UTF-8 BOM 會被去掉,第一列表頭不會變成一個看不見的字元。
  2. 選分隔符。需要別的符號時選自定義,只填一個字元。
  3. 要對象數組就保持“第一行是表頭”。沒有表頭時關掉它,或改成二維數組。
  4. 空的表頭會變成 column_1 這樣的鍵,避免出現空名字。
  5. 反向轉換在 JSON 轉 CSV。

結果裡的值都是字串

不會把 0012 猜成數字 12,否則商品編號前面的零會丟。需要數字時,在你自己的程式碼裡按列轉換。

某一行比表頭短,缺的格子是空字串。引號沒有閉合會報錯,而不是悄悄截斷。這通常是單元格里的引號沒有寫成兩個。

常見問題

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

多半是分隔符選錯,整行被當成一列。在逗號、分號和製表符之間換一下。BOM 這一頁會自己去掉。

幾十萬行可以嗎?

計算在瀏覽器裡。幾萬行通常沒問題。特別大的導出會讓標籤頁變慢,先把檔案拆開。