23 个版本 (14 个破坏性版本)
使用旧的 Rust 2015
0.29.1 | 2024 年 5 月 15 日 |
---|---|
0.29.0 | 2023 年 9 月 6 日 |
0.28.0 | 2023 年 5 月 25 日 |
0.27.0 | 2023 年 3 月 20 日 |
0.15.1 | 2017 年 5 月 24 日 |
在 #deserializing 中排名 #21
每月下载量 1,868,518
在 192 个 包中使用(直接使用 30 个)
120KB
2.5K SLoC
Serde —
Serde 是一个用于高效和通用地序列化和反序列化 Rust 数据结构的框架。
你可能想查找
Serde 实例
点击显示 Cargo.toml。 在 playground 中运行此代码。
[dependencies]
# The core APIs, including the Serialize and Deserialize traits. Always
# required when using Serde. The "derive" feature is only required when
# using #[derive(Serialize, Deserialize)] to make Serde work with structs
# and enums defined in your crate.
serde = { version = "1.0", features = ["derive"] }
# Each data format lives in its own crate; the sample code below uses JSON
# but you may be using a different one.
serde_json = "1.0"
use serde::{Deserialize, Serialize};
#[derive(Serialize, Deserialize, Debug)]
struct Point {
x: i32,
y: i32,
}
fn main() {
let point = Point { x: 1, y: 2 };
// Convert the Point to a JSON string.
let serialized = serde_json::to_string(&point).unwrap();
// Prints serialized = {"x":1,"y":2}
println!("serialized = {}", serialized);
// Convert the JSON string back to a Point.
let deserialized: Point = serde_json::from_str(&serialized).unwrap();
// Prints deserialized = Point { x: 1, y: 2 }
println!("deserialized = {:?}", deserialized);
}
获取帮助
Serde 是 Rust 最常用的库之一,所以任何 Rustaceans 聚集的地方都能帮助你。对于聊天,可以考虑尝试非官方社区 Discord 的 #rust-questions 或 #rust-beginners 频道(邀请链接:https://discord.gg/rust-lang-community),官方 Rust 项目 Discord 的 #rust-usage 或 #beginners 频道(邀请链接:https://discord.gg/rust-lang),或者 Zulip 的 #general 流。对于异步问题,可以考虑 StackOverflow 的 [rust] 标签、Reddit 上的 /r/rust 子版块(每周有固定的问题帖子),或者 Rust Discourse 论坛。在这个仓库中提交支持问题是可以接受的,但它们可能不会像上述任何一种那样得到很多关注,并且可能在一段时间后未得到回复而关闭。
许可证
根据您的选择,在 Apache License, Version 2.0 或 MIT 许可证下获得许可。除非您明确声明,否则您提交给 Serde 的任何贡献(根据 Apache-2.0 许可证定义),将按上述方式双重许可,没有任何附加条款或条件。
依赖项
约 275-730KB
约 17K SLoC