在變更檔案格式的同時,保留欄位的意義
試算表匯出的資料,並不帶有和資料庫相同的型別資訊。007 這個值可能是員工代碼,而不是數字七。很長的數字 ID 可能超出常見瀏覽器程式碼所使用的精確整數範圍。因此 CSV 轉 JSON 會將每個儲存格都保留為字串。空的儲存格仍是空字串,而像 true 和 null 這樣的字詞,在您於其他地方刻意更改之前,仍會維持為文字。
只要欄位中含有逗號、引號或換行,CSV 的引號處理就很重要。含引號的地址可以跨越兩個實際的行,卻仍屬於同一筆紀錄。這個剖析器會追蹤這種區別,並回報欄位數不一致的情況,而不是把儲存格移到錯誤的標題底下。標題必須是唯一且不為空。如果沒有標題列,工具會指定 column_1、column_2 等名稱。
在反方向上,JSON 必須包含非空的物件陣列。匯出時會依首次出現的順序,使用這些物件的鍵的聯集。缺少的欄位會變成空儲存格;明確的 JSON null 會變成文字 null。巢狀的陣列與物件,會以精簡的 JSON 形式放進同一個帶引號的儲存格。這對於檢查很有用,但 CSV 無法保留所有區別,因此無法完美地還原回原始的物件結構。
試算表應用程式有時會把以等號開頭的儲存格解讀為公式。預設的保護會在類似公式的儲存格前加上撇號,並回報有多少儲存格被更動。這也會影響負值,並套用於欄位名稱。只有在接收的應用程式需要確切的原始文字時,才關閉它,並檢查該應用程式匯入檔案的方式。預覽顯示的是套用這項匯出保護之前的來源值。