#serialization #macro-derive #display #adapter #json #automatic #impl

serialize_display_adapter_macro_derive

自动为实现了 serde::Serialize 的结构体实现 Display

5个版本

0.2.0 2024年7月14日
0.1.3 2024年5月24日
0.1.2 2024年5月23日
0.1.1 2024年5月21日
0.1.0 2024年5月20日

#519 in 过程宏

Download history 135/week @ 2024-05-15 216/week @ 2024-05-22 5/week @ 2024-05-29 118/week @ 2024-07-10 9/week @ 2024-07-17

每月下载量:127

MIT 协议

5KB

序列化显示适配器宏派生

use serde::Serialize;
use serialize_display_adapter_macro_derive::PrettyJsonSerializeDisplayAdapter;

#[derive(Serialize, PrettyJsonSerializeDisplayAdapter)]
struct Demo<'a> {
    name: &'a str,
    age: u8,
}
fn main() {
    let name = "root";
    let demo = Demo {
        name: name.as_ref(),
        age: 42,
    };
    print!("{}", demo)
}

// Should print:
//
// {
//     "name": "root",
//     "age": 42
// }

lib.rs:

use serde::Serialize;
use serialize_display_adapter_macro_derive::PrettyJsonSerializeDisplayAdapter;

#[derive(Serialize, PrettyJsonSerializeDisplayAdapter)]
struct Demo<'a> {
    name: &'a str,
    age: u8,
}
fn main() {
    let name = "root";
    let demo = Demo {
        name: name.as_ref(),
        age: 42,
    };
    print!("{}", demo)
}

应该打印

{
    "name": "root",
    "age": 42
}

依赖关系

~275–730KB
~17K SLoC