#serde-derive #serialization #derive #derive-deserialize #macro-derive #serde #no-alloc

过程宏 无std serde_keyed_derive

#[derive(Serialize, Deserialize)]的1.1版本宏实现

1个稳定版本

使用旧的Rust 2015

1.0.196 2024年2月15日

过程宏中排名#213

MIT/Apache

310KB
7.5K SLoC

serde_keyed_derive

这是serde_derive的分支,具有相同的API,但增加了一个名为key的额外属性。这允许您使用除字符串之外的文本来键控结构体。

使用方法

// Do things as normal
#[derive(Serialize, Deserialize)]
struct Message {
    #[serde(key = 1)]
    a: String,
    #[serde(key = 2)]
    b: String,
    #[serde(key = 3)]
    c: String,
    #[serde(key = 4)]
    d: String,
}

对于Serde开发者

只要您的序列化器可以处理异构映射,您的实现就已经得到支持。内部,当检测到键时,生成的代码将结构体序列化为映射。

限制

这是实验性的,所以虽然它可以用于生产,但可能会发生破坏性更改。

请参阅https://github.com/serde-rs/serde/pull/2698


lib.rs:

此crate提供Serde的两个derive宏。

#
#[derive(Serialize, Deserialize)]
#

请参阅https://serde.rs/derive.html了解如何设置。

依赖关系

~300–750KB
~18K SLoC