tigtools

JSON 轉 CSV 轉換器

貼上 JSON 陣列,即可轉換成可在 Excel、Google 試算表或 LibreOffice 中開啟的 CSV 表格。轉換會在瀏覽器中進行。

在瀏覽器中執行 免註冊

分隔符號

使用方式

  1. 貼上 JSON 物件陣列、開啟 .json 檔案,或按「試用範例」。
  2. 選擇試算表使用的分隔符號,以及物件內陣列的輸出方式。
  3. 檢查 CSV 預覽。每個物件會成為一列;巢狀欄位會轉為欄名,例如 address.city。
  4. 複製 CSV,或下載為 .csv 檔案。

運作方式

最上層陣列中的每個項目都會成為一列。欄位會彙整所有鍵,並依照首次出現的順序排列,因此欄位不同的物件也能對齊;缺少欄位或值為 null 時,儲存格會留白。巢狀物件會以點號路徑展平:{"address": {"city": "Oslo"}} 會轉換為名為 address.city 的欄位。如果根層是單一物件,結果會只有一列。純值陣列(例如 [1, 2, 3])會產生名為 value 的單一欄位。

物件中的陣列有三種輸出方式:以 JSON 文字放在同一個儲存格(["a","b"])、合併成同一個儲存格(a; b),或展開到編號欄位(tags.0、tags.1)。如果每列的陣列內容相似且不長,請使用最後一種方式。

輸出遵循 RFC 4180:欄位包含分隔符號、雙引號或換行時,會以雙引號括住;欄位中的雙引號會重複一次。每列以 CRLF 換行結尾。在許多歐洲地區設定中,Excel 預期使用分號而非逗號,因為逗號是小數點符號。Excel 開啟 CSV 檔案時也可能重新格式化長數字、前置零及類似日期的文字;若需保留原始值,請將檔案匯入為文字。JSON 解析時,超過 2^53 的數字會失去精確度。

範例

從 API 匯出使用者資料

API 傳回 [{"id":1,"name":"Ada","address":{"city":"London"}}, …]。CSV 會包含 id、name 和 address.city 欄位,可直接在試算表中排序和篩選。

含逗號和引號的文字

Alan "AT" Turing 這樣的名稱會轉換成 "Alan ""AT"" Turing";Wilmslow, Cheshire 這樣的城市名稱也會加上引號,讓試算表程式將每個值保留在各自的儲存格中。

在德文或法文版 Excel 中開啟

將分隔符號設為分號,並啟用 UTF-8 BOM。Excel 就能正確分欄,也能正常顯示 ä 和 é 等字元。

常見問題

深層巢狀 JSON 會如何處理?

各層級的巢狀物件都會展平成點號路徑欄名,例如 order.customer.address.zip。陣列則依照所選選項輸出:JSON 文字、合併值,或每個項目各用一欄。

為什麼有些儲存格是空白的?

物件缺少某個鍵,或該鍵的值為 null 時,儲存格會留白。欄位會根據所有物件彙整,因此即使只有部分物件包含某個鍵,也會建立對應欄位。

應該使用哪種分隔符號?

標準選項是逗號。如果 Excel 的地區設定以逗號表示小數(歐洲和拉丁美洲的許多地區皆如此),請使用分號;如果資料本身含有許多逗號,或想直接貼到試算表中,請使用定位點。

可以將 CSV 轉回 JSON 嗎?

可以使用本網站的 CSV to JSON 轉換工具。請注意,展平後無法完全還原:點號路徑欄名會變回一般鍵,例如 "address.city",而非巢狀物件。

隱私權

轉換會在瀏覽器中進行。您的 JSON 和 CSV 結果不會上傳、儲存或納入分析資料。