開發工具
JSON 轉 TypeScript — interface 與 type 型別產生器
在瀏覽器中將 JSON 範例轉為 TypeScript interface 或 type,支援巢狀物件、陣列、可選屬性與聯集型別,可複製產生的宣告。
從 JSON 產生 TypeScript 型別草稿。上限:輸入 100,000 個 UTF-16 編碼單元、深度 64(根層為 0)、10,000 個值,輸出 500,000 個字元、1,000 個型別宣告。本工具不會傳送輸入內容;頁面資源、流量分析與廣告仍可能使用網路連線。
請輸入 JSON 以產生型別。
輸出是一組型別宣告。未加入 export 時,請放在已有 import 或 export 的模組中,或在獨立檔案加入 export {}。若用於全域指令碼,Array、Node 等名稱可能與既有型別衝突。也請檢查同一作用域中的其他型別名稱。
使用方式與推論範圍
型別依據範例中出現的值推論。陣列中的部分物件缺少某屬性時,該屬性會設為可選;不同型別會合併為聯集型別。只有 null 的屬性仍是 null 型別,即使設為可選也不會移除 null。空陣列為 unknown[];只有空物件時為 Record<string, unknown>。
小型物件行內展開適用於最多兩個屬性的子物件。readonly 限制屬性重新賦值,不會讓陣列元素變成不可變。根資料為陣列或原始型別時,一律使用 type。日期字串仍是 string。
無法推論範例未涵蓋的值或業務規則,也不會在執行階段驗證或轉換資料。number 不保證數值精度或範圍。格式化與型別設定、宣告數量上限無關,會檢查 JSON 語法及輸入、輸出長度,並保留數值原始寫法。同一物件含重複鍵時,型別推論採用最後一個值。請在使用的專案中確認型別與數值處理方式。

