JSON 轉 TypeScript
JSON 轉 TypeScript
將 JSON 範例轉換為 TypeScript 介面與型別別名,自動處理物件陣列欄位合併、可選欄位與 null 聯集推斷,並為空陣列和空物件產生合適的型別宣告。適用於 API 回應建模、前端型別初始化與資料結構整理。
快速開始
常見使用情境
把真實 API 回應快速整理成前端頁面、SDK 用戶端或整合測試可用的 TypeScript 起始模型。
在正式定義 API 契約前,先用混合物件陣列觀察可選欄位與聯集型別的推斷結果。
把 mock JSON 資料快速轉成測試夾具、Storybook 範例或原型階段可用的型別定義。
當後端回應結構變動時,檢查 User、Meta 等巢狀宣告是否跟著樣本一起更新。
使用建議
限制與相容性
隱私與安全
常見問題
物件根節點會產生 interface;陣列與原始值根節點會產生 type。對於頂層物件陣列,根節點仍會保留類似 type Root = RootItem[]; 的 type 宣告,並另外單獨宣告陣列項目結構。
當樣本裡沒有陣列項目或物件屬性時,產生器無法推斷得更窄,因此會先把空陣列保留為 unknown[],把空物件保留為擴充 Record<string, unknown> 的 interface,直到你提供更具代表性的資料。
如果你輸入的名稱本身已經是合法的 TypeScript 識別字,它會被原樣保留,例如 APIResponse。非法名稱會在產生前被正規化為穩定的 PascalCase 識別字。
目前產生器會根據屬性路徑正規化巢狀名稱,並在命名衝突時做穩定區分。因此新輸出更傾向使用 User、Meta 或 FooBarClass 之類的名稱,而不是始終帶上根型別名前綴。
目前輸出契約刻意只回傳純宣告文字,不自動附帶 export。這樣可以讓結果保持中性,你可以依專案風格自行加入 export。