我希望在未知情况下,与上一案例相关联。
导致
#[derive(Serialize, Deserialize, Clone, Debug)]
#[serde(untagged)]
pub enum Action {
Action1,
Action2,
Action3,
Other(String), // when not known it should be here
}
我尝试使用指令
#[serde(untagged)]
但它无法正确序列化。
let b = Action::Action1;
let s = serde_json::to_string(&b);
let ss = s.unwrap();
println!("ss {:#?}", &ss);
let val = serde_json::to_value(b);
println!("ss {:#?}", &val);
导致
ss "null"
ss Ok(
Null,
)
Other(String)
时它无法编译,如果是Other
(没有关联值)则可以编译。 - Avba