開發者工具·語法轉換器
從電子表格 CSV 到 API JSON:為什麼每個值都以字串形式到達
· 為什麼它很重要
csv json 資料格式
從電子表格匯出的 CSV 會遺失電子表格已知的類型,並 API 期望將它們恢復。這篇文章解釋了為什麼仔細的轉換器將值保留為字串,為什麼猜測是危險的,以及如何準備檔案以便導入成功。
拒絕每一行的導入 — 一個需要數字和布林值的 API,以及一個充滿「42」和「TRUE」的 JSON 主體
此大綱描述了由 CSV-to-JSON 產生的 API 導入,但語法轉換器無法執行此操作。 CSV 被標記為不可讀,沒有任何轉換對以 CSV 開頭,並介面從不將其作為來源提供。嘗試請求返回不支援的轉換錯誤,而不是猜測的 JSON。
此更正是文章的中心事實,而不是隱藏的遺漏。產品經理仍然可以準備電子表格匯出,但解析和輸入需要一個 CSV 工作流程來公開決策。為此面板編寫虛構的步驟會將讀者帶到不存在的控制項。
請求的 CSV-to-JSON 導入無法在此面板中執行
CSV 欄位是在方言下分隔和引用的文字序列。該檔案不包含電子表格數字格式、布林類型或嵌套物件。它甚至可能沒有說明其分隔符號或第一個記錄是否為標題。這些不確定性在任何 JSON 類型決策之前就出現了。
前導零郵遞區號、長識別碼和類似日期的值說明了為什麼自動強制是有風險的。然而,「一切都是字串」還需要標題和方言選擇。 ToolAcre 拒絕完整的讀取操作,而不是僅實現簡單的一半並將其呈現為可靠的。
CSV 帶有文字欄位,但讀者仍必須選擇方言和標頭策略
類型推論以便利換取無聲腐敗。 `0042` 可以是程式碼,`9007199254740993` 超出精確的 JavaScript 整數精度,`N/A` 可能是文字類別而不是遺失資料。特定於區域設定的日期和小數引入了更多解釋。
正確的類型來自接收 API 架構和導入策略,而不是來自單元格的表面外觀。仔細的工作流程首先根據明確 CSV 規則解析行,然後根據該約定轉換選定的欄位並逐行報告失敗。
準備電子表格 — 一致的列,明確 true/false, 對於真正缺少的值,沒有千位分隔符號和空白單元格
準備一個一致的檔案:一個標頭策略、一個分隔符號、有效的引用和記錄的編碼。確定空單元格與空字串和 null 有何不同。只有在導入者以這種方式映射時才使用明確的 true 和 false 拼寫;避免使用千位分隔符,除非所選方言和類型解析器需要它們。
這些是針對導入工作流程的建議,而不是語法轉換器的功能。此儲存庫將使用者指向 CSV 工具,因為它可以提出該工具有意避免的問題。
準備 CSV 屬於詢問分隔符號、引用、標頭和類型的工具
代碼準確的工作結果是拒絕。使用 CSV 作為來源、JSON 作為目標呼叫 `convert` 會產生 `UNSUPPORTED_CONVERSION`;提示解釋 CSV 讀取需要分隔符號、引用和類型決定。沒有部分轉換的正文可供隨後編輯。
使用 CSV Cleaner 檢查和修復檔案,然後使用其設定與 API 架構相符的導入器。如果資料已表示為 JSON 記錄,則支援的反向方向可以寫入 CSV 並暴露扁平化、空歧義和公式轉義。
工作邊界:不支援的請求和支援的替代工作流程
小數點逗號通常伴隨分號分隔的記錄,而日期表示法因匯出程式區域設定而異。盲目選擇逗號的解析器可以分割數值;類型猜測可以重新解釋日期和月份。字元編碼和 BOM 處理在欄位語義之前添加了另一個邊界。
因為此路由不會讀取 CSV,所以它沒有宣告如何處理這些情況。 JSON-to-CSV 編寫器可以選擇逗號、分號或製表符,並可選擇新增 UTF-8 BOM,但輸出選項並不是輸入解析器的證據。
這不包括什麼 - API 可能需要的巢狀結構,CSV 無法表達,必須在轉換後組裝
CSV 無法直接表示 API 可能需要的巢狀物件。點分隔的標頭可以是一種約定,但它們不會自動建立對象,除非匯入者定義了該規則。陣列和重複的嵌套記錄需要明確的組裝階段。
通用語法轉換器無法從平面表推斷業務結構。定義目標 JSON 架構,有意對應列並在發送前進行驗證。那是應用程式整合而不是語法轉換。
重點:類型是您的決定,而不是轉換器的決定 - 以及語法轉換器面板如何在發送之前向您顯示 JSON
類型是接收合約支援的決策。 ToolAcre 的拒絕讓這些決定保持可見,而不是製造看似合理但有風險的 JSON。最好停止,而不是銷毀前導零或默默地舍入標識符。
對列出的九個方向使用語法轉換器,包括 JSON 到 CSV。對於 CSV 到 JSON,選擇一個詢問方言、標頭和類型的工具。缺少的路線是刻意設定的安全邊界,而不是未完成的按鈕。
在匯入真實電子表格之前,寫下缺少按鈕將隱藏的決定:編碼、分隔符號、引號規則、標題行、重複標題策略、空白單元格意義以及每個目標欄位的類型規則。從此清單配置的 CSV 讀取器可以產生可靠的 JSON。一個從不問這些問題的通用轉換器可能看起來更快,但任何節省的時間都是在 API 拒絕或誤讀後從調試標識符、日期和缺失值中藉來的。