跳至內容

JSON 轉 CSV

將物件陣列扁平化為 CSV,巢狀展開方式可調。

即時
輸入

這個工具的用途

將 JSON 物件陣列攤平為 RFC 4180 CSV——可選巢狀鍵的攤平策略(dot / bracket / stringify)、自訂分隔符與選用的標頭列。所有運算都在本機完成,不會上傳。

使用步驟

貼上 JSON 物件陣列(或載入範例),選擇分隔符與巢狀鍵策略(dot / bracket / stringify),即可在右側讀到 CSV。

輸入: [{"id":1,"name":"ada"},{"id":2,"name":"linus"}]

輸出(CSV):

id,name
1,ada
2,linus

限制與邊界情況

  • CSV 需要物件陣列(或單一物件,會被包成陣列)。原始型別陣列會產生單欄 value 表。
  • 巢狀物件依所選策略攤平。物件中的陣列會被 JSON-字串化成單一儲存格——CSV 無法原生表達任意巢狀。
  • 輸出依 RFC 4180 引號處理:含分隔符、雙引號或換行的儲存格會以 "…" 包覆,內部的 " 會加倍。
  • 若輸入為無效 JSON,請先用 JSON Repair
  • 延伸閱讀:JSON 轉 CSV:攤平巢狀資料深入講解各種攤平策略。

常見問題

我的資料會被傳送到伺服器嗎?
不會。每一次轉換都在你的瀏覽器內完成,頁面不會上傳 JSON 或輸出結果。
可以反向 YAML → JSON 嗎?
可以——開啟 /json/convert/yaml,切換「YAML → JSON instead」即可。CSV 與 XML 目前為單向(JSON → CSV / JSON → XML);架構支援反向模式,已在 roadmap 上。
巢狀物件在 CSV 中怎麼處理?
預設以點號攤平鍵(例如 user.address.city)。可切換為方括號(user[address][city]),或「stringify」把巢狀值保留為 JSON 編碼的單一儲存格。陣列會被 JSON-序列化成單一儲存格——CSV 的行列模型無法忠實表達任意巢狀。
XML 輸出有遵循特定 schema 嗎?
沒有——它是直接、慣用的對應:每個物件鍵對應一個元素、陣列重複父元素、原始值成為被逸出的文字內容。沒有屬性/元素的啟發式——一律使用元素。若需要屬性風格 XML,相關選項在 roadmap 上。
為什麼 CSV 匯出器對我的輸入有意見?
CSV 需要一個陣列(或單一物件)。根層級為純字串、數字或布林沒有行列結構。請把它包成物件陣列,或改用能處理任意 JSON 的 YAML / XML 變體。
可以處理 TSV、MessagePack 或 TOML 嗎?
還不行。分派層支援新的目標——已在 roadmap 上。若你有使用案例歡迎開立 issue。