LibraTool logoLibraTool

免費JSON 轉 TypeScript 轉換器

從任意 JSON 物件或陣列產生 TypeScript 介面或類型別名。貼上 JSON,即刻獲得可直接使用的 TypeScript 型別。

載入後可離線使用
export interface User {
  id: number;
  name: string;
  email: string;
  isActive: boolean;
  score: number;
  tags: string[];
  address?: null;
}

export interface Root {
  user: User;
  createdAt: string;
  version: number;
}

工作原理

此工具使用手寫的遞迴型別推斷演算法,不使用任何外部庫——用 JSON.parse 驗證和解析輸入,然後透過自定義遍歷存取 JSON 樹中的每個值,直接在瀏覽器中產生 TypeScript interface 或 type 宣告。不會向伺服器傳送任何內容。

  1. 1
    解析並驗證 JSON
    你的輸入會傳給 JSON.parse。如果失敗,確切的解析錯誤會立即顯示在輸入方塊下方。解析成功會產生一個帶型別的值樹,驅動後續的轉換。
  2. 2
    遞迴型別推斷
    遞迴的 getType 函式遍歷每個節點:基本型別對映為 string、number、boolean 或 null;物件會產生一個新的命名 interface;物件陣列會合並所有元素的鍵,只在部分元素中出現的鍵變為可選,衝突的值型別用 | 連線。
  3. 3
    防衝突的介面命名
    每個巢狀物件都根據其 JSON 鍵得到一個 PascalCase 名稱(snake_case、kebab-case 和空格都會規範化)。如果兩個結構不同的物件會共用同一名稱,會追加數字字尾(Data、Data2 …),而不是悄悄覆蓋先前的定義。
  4. 4
    渲染輸出並可下載
    先輸出巢狀介面,再輸出根型別,根據你的選擇格式化為 export interface 或 export type。結果可以複製到剪貼簿或下載為 .ts 檔案——全部使用標準 Blob 建立,無需伺服器往返。

相關工具

常見問題