在 CSV 與 JSON 之間互相轉換
這個轉換工具的用途
CSV 與 JSON 是用兩種不同形態描述同一份表格資料。CSV 檔案就是一張表格:第一列通常標示欄位名稱,之後每一列都是一筆記錄,欄位值以分隔符號隔開。JSON 則把同一張表格包進結構裡,多半是一個陣列,每一列都變成一個物件,鍵取自欄位名稱。這個工具會讀取你貼上的格式,判斷是哪一種,再改寫成另一種。
轉換是雙向的。輸入 CSV 就得到一組 JSON 物件陣列;輸入 JSON 就取回以分隔符號隔開的列。由於判斷依據是實際內容而非副檔名,你可以貼上片段後直接看結果。
什麼時候用得上
最常見的用途是在試算表與 API 之間搭橋。把工作表匯出成 CSV,轉成端點所需的 JSON 承載;或是把 JSON 回應排成一列一列,方便在 Excel 或 Google 試算表中開啟。若要以 CSV 匯出檔為資料庫填入初始資料,或想把不熟悉的資料集切換到自己較好讀的形態來檢視,同樣派得上用場。
編輯器下方的檢查列會確認輸入是否有效,並顯示列數、欄數與大小;若有問題,則會指出需要修正的行與欄,讓你一眼看出輸出是否符合預期。
範例:從列到物件
假設標題列是 name,age,city,後面接著 John,25,Seoul 與 Jane,30,Tokyo。轉成 JSON 後會得到一個含兩個物件的陣列:{"name":"John","age":"25","city":"Seoul"} 與 {"name":"Jane","age":"30","city":"Tokyo"}。標題列的每個儲存格會變成鍵,每一筆資料列則變成一個物件。反方向轉換時,這些物件又會摺回成一列標題加上每筆記錄一列的形態。
注意事項與特殊情況
第一列會被當成提供鍵名的標題列;若檔案一開始就是資料,請關閉「第一列為標題」。分隔符號會自動偵測,但當檔案含糊不清時,你可以指定逗號、分號、Tab 或直線來固定。含有分隔符號或換行的值,會透過引號保持完整。當 JSON 內含巢狀物件時,「攤平巢狀物件」會把它們展開成像 user.name 這樣的點號欄位,裡面的清單則以分號串接。要留意 CSV 沒有型別系統,因此像 25 這樣的數字若不事後另行轉換,會以字串形式輸出。