JSON 輸入
生成的 Rust
輸入 JSON 資料以產生 Rust struct
具備 ownership 的記憶體安全 struct
從 JSON 資料結構產生 Rust struct
輸入 JSON 資料以產生 Rust struct
具備 ownership 的記憶體安全 struct
使用此 JSON 轉 Rust 產生器,可從 JSON 範例產生 Rust struct,適合服務與 CLI,並可搭配 serde 使用。
步驟 1 – 貼上 JSON 範例
匯入 從檔案、URL 或示例資料載入 JSON。步驟 2 – 選擇 Rust struct 選項
Struct Name(例如 Root)。Option<T>),未知型別如何處理(serde_json::Value)。步驟 3 – 檢查產生的程式碼
根型別名稱、null 處理策略與可選的框架選項。步驟 4 – 搭配 serde 使用 struct
serde 與 serde_json 相依套件,並啟用 derive 巨集。serde_json::from_str 將 JSON 反序列化為根 struct。步驟 5 – 複製或下載
快速提示
Option<T>。// JSON 輸入
{
"id": 123,
"name": "Maeve Winters",
"email": "[email protected]",
"active": true,
"roles": ["admin", "editor"],
"metadata": { "plan": "pro" },
"createdAt": "2024-03-01T10:15:00Z",
"score": 99.5,
"notes": null
}
// 產生的 Rust struct(簡化)
use serde::{Deserialize, Serialize};
#[derive(Debug, Serialize, Deserialize)]
pub struct Metadata {
pub plan: String,
}
#[derive(Debug, Serialize, Deserialize)]
pub struct Root {
pub id: i64,
pub name: String,
pub email: Option<String>,
pub active: bool,
pub roles: Vec<String>,
pub metadata: Metadata,
pub createdAt: String,
pub score: f64,
pub notes: serde_json::Value,
}探索更多可與本 JSON 轉 Rust 產生器搭配使用的 JSON 與 Schema 工具。
產生器會建立具備正確 ownership 的 Rust struct,支援 Serde 序列化/反序列化,並遵循 Rust 命名慣例與記憶體安全保證。
可以!選擇「Serde」框架可產生帶有 #[derive(Serialize, Deserialize)] 的 struct,使用 serde crate 自動進行 JSON 序列化。
Rust 產生器預設使用 Option<T> 來表示可為 null 的欄位,符合 Rust ownership 模型,並提供明確的 null 處理方式。
產生的 struct 使用 owned types(例如 String 而非 &str)以避免 lifetime 複雜度,讓使用更簡單,同時保持 Rust 的安全保證。