JSON 轉 Kotlin 工具
從 JSON 生成 Kotlin data class 與 Jackson 對映,支援巢狀模型、可空欄位和原始碼下載。
如何生成 Kotlin 模型
貼上有代表性的 JSON 物件或陣列,填寫根型別名稱後生成。使用檔案選擇框檢視各個原始碼檔案;複製僅複製當前檔案,ZIP 下載保留全部檔案。完整輸出透過對映保留 JSON 原始欄位名,包括語言關鍵字和含標點的鍵名。
完整輸出使用 Jackson 2.x(2.12 及以上)及 Kotlin 模組,需安裝匹配版本的 jackson-databind、jackson-module-kotlin。保留 quicktype 包名,或在專案中統一修改。僅模型模式省略 JSON 對映;重新命名欄位需自行配置序列化規則。生成的 Jackson mapper 在序列化時會省略 null 屬性。
樣本、可選欄位與限制
同類介面存在多種返回結構時,可選擇 JSON Lines,每行放一個完整 JSON 文件。部分樣本缺少的欄位推斷為可選欄位,顯式 null 參與可空型別推斷。空陣列和始終為 null 的欄位無法確定具體型別,應補充代表性樣本並核對輸出。
數字樣式字串、日期和 UUID 字串仍按字串處理。工具根據樣本推斷模型,不能代替完整介面約定。上限為 200,000 字元、64 層巢狀、50 個樣本文件、50 個生成檔案及 1,000,000 輸出字元。轉換在本地 Worker 中執行,可取消,超時為 10 秒。
常見問題
缺失欄位和 null 一樣嗎?
不同。缺失欄位表示該欄位不一定存在,null 則是一個具體值。目標語言可能透過同一個可選或可空型別表示兩者。建議提供多個樣本,僅在符合實際介面時啟用“所有欄位可選”。
會讀取遠端 Schema 或上傳 JSON 嗎?
不會。工具僅使用輸入的 JSON 樣本,不讀取其中的網址或遠端 Schema,也不會在頁面中執行生成的程式。