#serde #serialization #serde-derive #framework

nightly serde_macros

自动生成 Serde 框架实现的宏

45 个版本

使用旧的 Rust 2015

0.8.9 2016年9月21日
0.8.5 2016年8月31日
0.8.0 2016年7月28日
0.7.0 2016年2月27日
0.3.0 2015年3月31日

#78#serde-derive

Download history 232/week @ 2024-04-04 252/week @ 2024-04-11 278/week @ 2024-04-18 262/week @ 2024-04-25 230/week @ 2024-05-02 228/week @ 2024-05-09 235/week @ 2024-05-16 298/week @ 2024-05-23 401/week @ 2024-05-30 238/week @ 2024-06-06 214/week @ 2024-06-13 268/week @ 2024-06-20 106/week @ 2024-06-27 59/week @ 2024-07-04 169/week @ 2024-07-11 150/week @ 2024-07-18

每月下载量 527
此 crate 的受欢迎度已下降

MIT/Apache

2KB

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

Serde 是一个用于高效和通用地序列化和反序列化 Rust 数据结构的框架。


你可能正在寻找

Serde 应用实例

点击显示 Cargo.toml. 在此沙盒中运行此代码。
[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 License, Version 2.0MIT 许可证下使用。
除非你明确声明,否则任何有意提交给 Serde 的贡献,如 Apache-2.0 许可证所定义,将按照上述方式双许可,不附加任何额外条款或条件。

依赖项

约 40KB