正在準備工作區…
輸入
輸出
結果將顯示在這裡。
使用方法
- 貼上文字、開啟 UTF-8 檔案,或試用 Sample。
- 選擇輸入與設定,接著執行工具,或啟用自動執行。
- 檢查結果後複製或下載。修改輸入會使先前的結果失效。
JSON 轉 TypeScript
根據 JSON Sample 產生 TypeScript interface 或 type 宣告。
處理在瀏覽器本機完成,輸入不會傳送給 DevToolsy。
運作原理
巢狀物件會產生具名型別,陣列中的物件會合併推導:缺少的屬性設為選用,混合值產生聯集型別,空陣列使用 unknown[]。
輸入
{"project":"DevToolsy","members":[{"name":"Ada","role":"developer"},{"name":"Lin","active":true}],"tags":["web","tools"]}輸出
export interface Root {
project: string;
members: RootMembersItem[];
tags: string[];
}
export interface RootMembersItem {
name: string;
role?: string;
active?: boolean;
}
根據 JSON Sample 產生 TypeScript interface 或 type 宣告。
選項與資料保真
可設定根型別名稱、interface 或 type、readonly 及所有屬性選用。字串推導為 string,不產生字面值型別。
使用處理結果
單份 Sample 無法涵蓋所有情況,請檢查 null、缺少欄位與數值精確度,並另外加入執行階段驗證。
檢查結果後複製或下載。修改輸入會使先前的結果失效。
處理限制
每份 UTF-8 輸入上限 1 MiB,輸出上限 8 MiB。JSONPath 與 Schema 5 秒逾時,其他工具 30 秒逾時。
?
常見問題
如何推導巢狀物件與陣列?
巢狀物件會產生具名型別,陣列中的物件會合併推導:缺少的屬性設為選用,混合值產生聯集型別,空陣列使用 unknown[]。
可以調整哪些 TypeScript 選項?
可設定根型別名稱、interface 或 type、readonly 及所有屬性選用。字串推導為 string,不產生字面值型別。
產生的型別能驗證後續 API 回應嗎?
不能。單份 Sample 無法涵蓋所有情況,請檢查 null、缺少欄位與數值精確度,並另外加入執行階段驗證。
輸入內容會上傳嗎?
處理在瀏覽器本機完成,輸入不會傳送給 DevToolsy。
可以開啟本機檔案嗎?
UTF-8 輸入最大 1 MiB · 輸出最大 8 MiB