#[derive(serde_derive::Serialize, serde_derive::Deserialize)] #[serde(tag = "mode", content = "config")] enum Example1 { Bib(u32), Bap(String), } #[derive(serde_derive::Serialize, serde_derive::Deserialize)] enum Example2 { Bib(u32), Bap(String), } fn main() { println!("{}", serde_json::to_string(&Example1::Bib(1)).unwrap()); println!("{}", serde_json::to_string(&Example2::Bib(1)).unwrap()); }