zh-Hant v
en zh tw

JSON 轉 Rust 工具

從 JSON 物件或多個樣本生成 Rust struct、Serde 欄位對映與 Option 型別,下載後可加入現有 Rust 專案。

如何生成 Rust 模型

貼上有代表性的 JSON 物件或陣列,填寫根型別名稱後生成。使用檔案選擇框檢視各個原始碼檔案;複製僅複製當前檔案,ZIP 下載保留全部檔案。完整輸出透過對映保留 JSON 原始欄位名,包括語言關鍵字和含標點的鍵名。

輸出派生 Serialize 和 Deserialize,需在 Cargo.toml 新增啟用 derive 的 serde 及 serde_json,然後作為模組使用。輸出為模型檔案,並非完整 Cargo 應用。Option 表示空值或可選值;JSON 整數樣本須位於有符號 64 位範圍。

樣本、可選欄位與限制

同類介面存在多種返回結構時,可選擇 JSON Lines,每行放一個完整 JSON 文件。部分樣本缺少的欄位推斷為可選欄位,顯式 null 參與可空型別推斷。空陣列和始終為 null 的欄位無法確定具體型別,應補充代表性樣本並核對輸出。

數字樣式字串、日期和 UUID 字串仍按字串處理。工具根據樣本推斷模型,不能代替完整介面約定。上限為 200,000 字元、64 層巢狀、50 個樣本文件、50 個生成檔案及 1,000,000 輸出字元。轉換在本地 Worker 中執行,可取消,超時為 10 秒。

常見問題

缺失欄位和 null 一樣嗎?

不同。缺失欄位表示該欄位不一定存在,null 則是一個具體值。目標語言可能透過同一個可選或可空型別表示兩者。建議提供多個樣本,僅在符合實際介面時啟用“所有欄位可選”。

會讀取遠端 Schema 或上傳 JSON 嗎?

不會。工具僅使用輸入的 JSON 樣本,不讀取其中的網址或遠端 Schema,也不會在頁面中執行生成的程式。

其他語言