[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
e-macros = { version = "0.1", git="https://gitee.com/eternalnight996/e-macros"}
#[derive(serde::Deserialize, Debug, serde::Serialize)]
struct A {
a: String,
b: i32,
d: i32,
}
#[derive(serde::Deserialize, Debug, serde::Serialize, Default, e_utils::Json)]
struct B {
d: i32,
f: String,
}
fn test() {
let mut a: A = A {
a: "A".to_string(),
b: 1,
d: 2,
};
println!("A {:?}", a);
let mut b: B = B::auto_json_cloned(&a);
println!("B {:?}", b);
a.d = 10;
b.f = "test".to_string();
b = b.self_json_cloned(&a);
println!("B {:?}", b);
}