使用旧的Rust 2015
0.2.0 |
|
---|---|
0.1.0 |
|
#29 in #deserializing
28KB
657 代码行
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] 标签、有固定每周简单问题帖子的 /r/rust subreddits,或者 Rust Discourse 论坛。在这个存储库中提交支持问题是可以接受的,但它们通常不会像上面提到的那么多人关注,并且可能在一段时间后无回应而被关闭。
许可证
根据您的选择,在以下任一许可证下许可:Apache 许可证 2.0 版 或 MIT 许可证。除非您明确声明,否则根据 Apache-2.0 许可证定义的,您有意提交给 Serde 的任何贡献,都应按上述方式双重许可,不附加任何额外条款或条件。
依赖关系
~0–475KB
~10K SLoC