使用步驟
- 貼上 JSON 示例,或點「載入示例」。
- 設定根型別的名稱。
- 選擇生成 interface 還是 type。
- 複製或下載生成的型別。
引數說明
- 根型別名稱
- 頂層型別的名稱,例如 User、ApiResponse。巢狀型別按鍵名命名,address 生成 Address,posts 的元素生成 Post。
- 用 type 代替 interface
- 生成 type User = { … } 形式的類型別名。對普通資料來說兩者效果相同。
使用示例
{"id": 1, "tags": ["a"], "owner": {"name": "Ada"}} 會生成:
export interface Owner {
name: string;
}
export interface Root {
id: number;
tags: string[];
owner: Owner;
}
常見問題
物件陣列怎麼處理?
所有元素合併成一個型別。只在部分元素中出現的鍵變成可選(key?),有時為 null 的值變成 string | null 這樣的聯合型別。
為什麼有的欄位是 unknown?
示例中這個欄位只有 null,推斷不出真實型別。請手動改成正確的型別,或換一份該欄位有值的示例。
整數和小數會區分嗎?
TypeScript 中都是 number。Go、Rust 和 Python 的輸出會區分整數和小數。
JSON 資料會上傳嗎?
不會。型別在瀏覽器中生成,包含真實資料的介面返回也不會離開你的裝置。
隱私說明
本工具完全在瀏覽器中執行,檔案和文字都在你的裝置上處理,不會上傳到我們的伺服器。