將 JSON 轉換為 CSV
轉換器接受 JSON 物件陣列,並為每個物件輸出一列 CSV。各筆記錄的鍵很少完全相同,因此本指南會說明欄位如何決定,以及空缺處會填入什麼。
實際範例
[
{"id": 1, "name": "Smith, Jane", "tags": ["admin", "ops"]},
{"id": 2, "name": "Kim", "email": "[email protected]"},
{"id": 3, "name": "Lee", "email": null}
]id,name,tags,email 1,"Smith, Jane","admin,ops", 2,Kim,,[email protected] 3,Lee,,
標題列會依各鍵首次出現的順序列出所有鍵:id、name、tags,接著是第二個物件中的 email。Smith 沒有 email,Lee 的 email 為 null,因此這兩個儲存格都是空的。tags 陣列會寫成 admin,ops,並因為含有分隔符而加上引號,處理方式與 "Smith, Jane" 相同。
轉換器的處理規則
- 輸入必須是 JSON 陣列,例如 [{...}, {...}];單獨一個物件會被拒絕。
- 欄位是所有物件鍵的聯集,並依每個鍵首次出現的順序排列。
- 缺少的鍵或 null 值會產生空白儲存格。
- 數字與布林值會以純文字輸出,例如 42 和 true。
- 由一般值組成的陣列會將其項目以逗號串接後輸出。巢狀物件以及包含物件的陣列會以精簡的 JSON 格式寫入儲存格,因此不會遺失任何資料;若需要拆成獨立的欄位,請先將其攤平(例如改為 address_city)。
- 含有分隔符、引號或換行的值會以雙引號包住,內部的引號則會重複一次。