AZ Tools

JSON 转 Rust 结构体转换器 (serde)

开发

粘贴任意 JSON 对象或数组,即可获得可直接使用的 Rust `struct` 定义,派生 serde 的 `Serialize, Deserialize`,字段映射为 Rust 类型(String、i64、f64、bool、Vec<...>),并为嵌套对象生成独立结构体。非 snake_case 的键会添加 `#[serde(rename = "...")]` 属性。全部在浏览器本地运行——你的 JSON 不会被上传。

Rust 结构体

使用方法

  1. 在输入框中粘贴或输入 JSON。
  2. 可选地重命名根结构体(默认 AutoGenerated)。
  3. 从输出框复制生成的结构体,并在 Cargo.toml 中添加 serde。

常见问题

数字会被推断为什么类型?
整数转换为 i64,带小数点的数字转换为 f64。如需 u32、i32 或其他宽度可手动调整。
null 或空数组如何处理?
由于无法从样本推断类型,null 映射为 Option<serde_json::Value>,空数组映射为 Vec<serde_json::Value>。
为什么有些字段带 serde rename?
Rust 字段使用 snake_case。当 JSON 键不同时(例如 camelCase),会添加 #[serde(rename = "...")] 属性,使序列化仍与原始键匹配。
我的 JSON 会被发送到某处吗?
不会。转换完全在你的浏览器中进行,不会上传任何内容。

相关工具