1个稳定版本

1.0.1 2023年11月9日

#1737 in 编码

MIT 许可证

4KB

serde_cast

you_can 稳定配合使用!

  1. 具有结构体 AB
  2. 确保它们分别派生 SerializeDeserialize
  3. 转换!
use serde::{Serialize, Deserialize};
use serde_cast::serde_cast;

#[derive(Serialize)]
struct A {
    field: String,
}

#[derive(Deserialize)]
struct B {
    field: String,
}

let a = A { field: "This was a mistake".to_string() };
let b: B = serde_cast!(&a);

assert_eq!(a.field, b.field);

lib.rs:

将一个结构体转换为另一个结构体

use serde::{Serialize, Deserialize};
use serde_cast::serde_cast;

#[derive(Serialize)]
struct A {
    field: String,
}

#[derive(Deserialize)]
struct B {
    field: String,
}

let a = A { field: "This was a mistake".to_string() };
let b: B = serde_cast!(&a);

assert_eq!(a.field, b.field);

依赖项

~1–1.6MB
~37K SLoC