JSON 输入
正在加载编辑器…
生成的 Rust
Configuration
输入 JSON 数据以生成 Rust 结构体
具有所有权的内存安全结构体
从 JSON 数据结构生成 Rust 结构体
输入 JSON 数据以生成 Rust 结构体
具有所有权的内存安全结构体
使用此 JSON 转 Rust 生成器,可从 JSON 示例生成 Rust 结构体,适用于服务与 CLI,并可配合 serde 使用。
步骤 1 – 粘贴 JSON 示例
导入 从文件、URL 或示例数据加载 JSON。步骤 2 – 选择 Rust 结构体选项
结构体名称(例如 Root)。Option<T>),未知类型如何处理(serde_json::Value)。步骤 3 – 检查生成的代码
根类型名称、空值处理策略以及可选的框架选项。步骤 4 – 配合 serde 使用结构体
serde 与 serde_json 依赖,并启用 derive 宏。serde_json::from_str 将 JSON 反序列化为根结构体。步骤 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 结构体(简化)
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 工具。
生成器创建具有适当所有权、支持 Serde 序列化/反序列化并遵循具有内存安全保证的 Rust 命名约定的 Rust 结构体。
可以!选择 'Serde' 作为框架可以生成带有 #[derive(Serialize, Deserialize)] 属性的结构体,以便使用 serde crate 进行自动 JSON 序列化。
Rust 生成器默认使用 Option<T> 表示可空字段,确保内存安全和显式空值处理,遵循 Rust 的所有权模型。
生成的 Rust 结构体使用拥有的类型(String 而不是 &str)来避免生命周期复杂性,使它们更易于使用,同时保持 Rust 的安全保证。