zh-Hant v
en zh tw

JSON 轉 Swift 工具

從 JSON 樣本生成 Swift Codable 模型與 CodingKeys,在本地推斷巢狀 struct 和可空值。

如何生成 Swift 模型

貼上有代表性的 JSON 物件或陣列,填寫根型別名稱後生成。使用檔案選擇框檢視各個原始碼檔案;複製僅複製當前檔案,ZIP 下載保留全部檔案。完整輸出透過對映保留 JSON 原始欄位名,包括語言關鍵字和含標點的鍵名。

完整輸出使用 Foundation 與 Codable,包含編解碼函式及重新命名欄位的 CodingKeys,可直接加入 Swift 專案,無需第三方序列化庫。僅模型模式生成普通 struct,省略 Codable 支援。標準 Codable 編碼會省略 nil 屬性,輸入中的顯式 null 因此可能在再次編碼時變為缺失欄位。

樣本、可選欄位與限制

同類介面存在多種返回結構時,可選擇 JSON Lines,每行放一個完整 JSON 文件。部分樣本缺少的欄位推斷為可選欄位,顯式 null 參與可空型別推斷。空陣列和始終為 null 的欄位無法確定具體型別,應補充代表性樣本並核對輸出。

數字樣式字串、日期和 UUID 字串仍按字串處理。工具根據樣本推斷模型,不能代替完整介面約定。上限為 200,000 字元、64 層巢狀、50 個樣本文件、50 個生成檔案及 1,000,000 輸出字元。轉換在本地 Worker 中執行,可取消,超時為 10 秒。

常見問題

缺失欄位和 null 一樣嗎?

不同。缺失欄位表示該欄位不一定存在,null 則是一個具體值。目標語言可能透過同一個可選或可空型別表示兩者。建議提供多個樣本,僅在符合實際介面時啟用“所有欄位可選”。

會讀取遠端 Schema 或上傳 JSON 嗎?

不會。工具僅使用輸入的 JSON 樣本,不讀取其中的網址或遠端 Schema,也不會在頁面中執行生成的程式。

其他語言