Rust → JSON Schema 產生器

Rust 程式碼 輸入

正在載入編輯器…

JSON Schema(輸出) 輸出

設定

選擇產生 Schema 時的 root struct。

解析完全在瀏覽器內完成,你的程式碼不會離開此頁面。

貼上 Rust structs,立即產生 JSON Schema。

支援 Option、Vec、巢狀 structs 與常見 Serde attributes。

如何將 Rust struct(結構體) 轉為 JSON Schema(步驟指南)

這個線上轉換器(Rust struct → JSON Schema)可從真實模型(DTO、struct、class)產生 JSON Schema,方便驗證 payload、分享契約,並生成 mock JSON。

  1. 步驟 1:貼上 Rust 程式碼

    • 將要文件化的模型貼到左側編輯器。
    • 把被引用的型別也放在同一段程式碼中,便於產生 definitions。
    • 點擊 範例 載入範例,了解預期輸入格式。
  2. 步驟 2:選擇 根 struct(如需要)

    • 若偵測到多個 definitions,選擇與你的 API payload 相符的 root 型別。
    • 輸出 Schema 會以選中的 root 為中心,並包含引用型別的額外 definitions。
  3. 步驟 3:檢視 JSON Schema 輸出

    • 重點檢查型別、必填/可選欄位,以及巢狀物件/陣列結構。
    • 當模型引用其他模型時,注意 definitions 以及 $ref 是否正確。
    • 複製或下載 Schema,用於驗證、文件或 schema-first 開發。
  4. 步驟 4:驗證或產生 mock JSON

    • 點擊 產生 Mock 資料 即可開啟已預載 Schema 的 Mock 產生器。
    • 用真實 payload 驗證 Schema,及早發現破壞性變更。
    • 若你依賴更進階的 schema 組合(例如 anyOf/oneOf/allOf),建議用 Ajv 等完整 validator 再驗證一次。

Schema keywords 支援說明

產生的 Schema 可能包含 $ref ,也可依需求補上 anyOf, oneOf, allOf當 Schema 更複雜時,建議使用完整的 JSON Schema validator;若要產生 mock,必要時可先 dereference 再生成。

相關工具

搭配這些工具一起使用:驗證 Schema、產生 mock payload、格式化 JSON 範例,並保持程式碼與契約一致。

常見問題

支援哪些 Rust 語法?

支援 structs、Option<T>、Vec<T>、簡單 enums 與巢狀 structs。常見 Serde attributes 可協助對齊欄位名稱與可選性。

Rust 型別如何映射到 JSON Schema?

數值型別映射為 integer/number,String/&str 為 string,bool 為 boolean;Vec/陣列為 array/items;Option 會視為可選。enums 會在可行時映射成 enum。

可以貼上多個 structs 嗎?

可以。貼上多個相關 types 並在設定中選擇 root struct,即可由正確 root 產生 Schema。

如何由 Schema 產生 mock 資料?

產生 Schema 後,點擊「產生 Mock 資料」即可開啟已預載 Schema 的 Mock 產生器。

Rust → JSON Schema 產生器 | JSONSwiss