Derive Macro Json

Source
#[derive(Json)]
Expand description

§对象克隆

[dependencies]
serde_json = "1.0"
serde = { version = "1.0", features = ["derive"] }
e-macros = { version = "0.1", git="https://gitee.com/eternalnight996/e-macros"}

§Example

 #[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);
 }