#serde #serialization #serde-derive #ast #deserializing #framework

已删除 serde_item

Serde代码生成使用的AST表示。不稳定。

使用旧的Rust 2015

0.2.0 2016年6月24日
0.1.0 2016年6月20日

#29 in #deserializing

MIT/Apache

28KB
657 代码行

Serde   构建状态 最新版本 serde msrv serde_derive msrv

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