所有指南
資料

巢狀 JSON 轉 CSV:選擇你的列和欄

兩筆記錄、五個欄位,以及 CSV 無法保留的細節。

JSON 匯出時,清單裡可能還包含清單,但 CSV 需要的是列與欄。轉換前,先決定哪個清單要變成表格,以及每個記錄裡的值要如何處理。

這個範例 JSON在 data.items 下有兩個創作者。每個都有巢狀的 creator 物件、tags 陣列和 note 欄位。其中一個備註是 null,另一個是空字串。

先選記錄,再選欄位

開啟 CSV、JSON 與 YAML 轉換器,匯入範例,在 從 選擇 JSON,至 選擇 CSV。開啟 選項,將 資料路徑(選填) 設為 /data/items。

沒有這個路徑,外層物件會變成一行。有了它,兩個項目會變成兩行。路徑是用來選取資料,不會重新命名欄位,也不會搜尋相符的值。

路徑使用斜線分隔的名稱,遵循 JSON Pointer 標記法。輸入 /data/items,而不是 data.items。如果欄位名稱本身包含斜線,請用 ~1 表示該斜線;字面上的波浪號則用 ~0。

決定巢狀物件是否要放在同一個儲存格

關閉 展開巢狀物件 時,欄位會是 id、creator、tags 和 note。創作者物件會以 JSON 文字的形式佔據一個 CSV 儲存格。這在 CSV 格式上是合法的,但如果你想依國家排序,會很麻煩。

開啟展開後,欄位會變成:

/id
/creator/name
/creator/region
/tags
/note

現在 Zoë 和 AU 各自有獨立的儲存格。以斜線開頭的標題說明了每個值的來源,也避免把字面上的 creator.name 欄位和巢狀的 name 欄位搞混。

比較巢狀儲存格 CSV和展開後的 CSV。兩者都有兩列資料。CSV 儲存格中 JSON 的雙引號是跳脫字元,不是重複的資料。

陣列不會變成額外的列

展開只會擴充巢狀物件,不會把陣列拆成多列,也不會為每個陣列元素建立單獨的欄位。在這個範例中,/tags 仍然在一個儲存格中包含單一的 JSON 陣列:

["design","video"]

如果你的試算表需要每個標籤一列,請先按這個結構整理資料。決定是否要在每一列重複創作者的 ID,以及如何表示空的標籤清單。轉換器不會替你做出這些決定。

如果之後需要重建,請保留 JSON

CSV 本身無法區分缺失值、null 和空字串。這個範例中的兩個備註都會匯出為空儲存格。用預設設定把 CSV 轉回 JSON,會得到兩個空字串。

轉回後的 JSON 也會把 /creator/name 保留為字面上的鍵,/tags 保留為字串。它不會自動重建巢狀物件或解析陣列。請保留原始 JSON 作為資料來源。

ID 001 在這個轉換器中會以文字形式保留。但開啟 CSV 時,試算表仍可能把它解讀為數字;匯入 ID 欄時,也請以文字格式匯入。如果是給試算表用的匯出,請保持開啟 保護 CSV 免受試算表公式影響,並在分享前檢查檔案。

我們檢查了什麼

2026 年 10 月 8 日,我們用與工具相同的轉換函式跑了範例。我們檢查了兩種 CSV 變體、各自的兩列資料、五個展開後的欄位,以及轉回 JSON 的結果。結果檔案包含輸出和下載雜湊值。

表格預覽最多顯示 500 列,這不是匯出內容的總數。處理較大的資料集時,請檢查顯示的總數和下載的檔案。