JSON 轉型別 使用方法
- 1
貼上 JSON 範例
貼上一份回應、一個記錄陣列,或連續貼上多份回應;範例會示範合併兩位使用者的資料。
- 2
選擇語言
選擇 TypeScript、Zod、Go、Python、Java、C#、Kotlin、Swift 或 Rust,並設定該語言的風格選項。
- 3
為根型別命名
設定最上層型別的名稱,例如 User 或 OrderResponse。
- 4
產生並複製
按下「產生型別」,然後複製程式碼或下載;修改設定後會自動重新產生。
限制與 Pro
免費且不需註冊:支援 9 種輸出語言與 3 種 Python 風格,可合併任意數量的範例,檔案上限 20 MB,產生時間超過 30 秒會停止。
Pro 方案可移除廣告,產生器的功能在所有方案中都相同。 查看 Pro
關於 JSON 轉型別
手寫 API 回應的型別既費時又容易出錯,尤其是資料巢狀三層以上時。貼上一份或多份 JSON 範例,這個產生器就會推斷結構,並輸出可直接貼上的定義,共支援九種格式:TypeScript interface 或 type alias、搭配 Zod 做執行階段驗證的 TypeScript、含 json tag 的 Go struct、Python dataclass、TypedDict 或 Pydantic v2 模型、使用 Jackson 註解的 Java record、適用 System.Text.Json 的 C# 類別、適用 kotlinx.serialization 的 Kotlin data class、Swift Codable struct,以及適用 serde 的 Rust struct。
單一範例很難涵蓋所有欄位,所以產生器會合併你提供的所有範例。你可以連續貼上多份文件、使用 JSON Lines,或貼上物件陣列:只在部分物件中出現的鍵會變成選填,有時為 null 的鍵會變成可為 null,有時是小數的整數會變成浮點數,真正混合的值則會變成聯集或該語言的動態 JSON 型別。巢狀物件會有各自命名的型別,例如 orders 變成 Order、addresses 變成 Address,相同結構只會產生一次並重複使用。鍵為數字、UUID 或日期的物件會轉成 map。
欄位名稱會依各語言慣例轉換,像 first-name 或 class 這類不同的 JSON 鍵,則會以適當的註解、別名或 CodingKeys 對應回原名。範例中的註解與結尾逗號也能容許。
輸出內容只描述你提供的範例,產生器無法得知範例之外的欄位或值,因此正式採用前,請對照你的 API 文件檢查。
隱私
範例的解析與程式碼的產生,都由這個分頁中的 Web Worker 完成,所以含有個人或內部資料的 API 回應不會被上傳。語言與命名選項會儲存在本機儲存空間,你貼上的 JSON 則不會保留。
功能
合併多份範例
在你貼上的所有範例中,缺少的鍵會變成選填,null 值會變成可為 null。
支援 9 種語言
TypeScript、Zod、Go、Python、Java、C#、Kotlin、Swift 與 Rust,命名符合各語言慣例。
內建鍵名對應
json tag、別名、@SerialName、@JsonProperty 與 CodingKeys 會保留原本的 JSON 名稱。