How do I avoid generating JSON when serializing a value that is null or a default value?
The link Skip serializing field give me the answer. And the fixed code: #[derive(Debug, Clone, Serialize, Deserialize, Default, PartialEq, Ord, PartialOrd, Eq)] pub struct WeightWithOptionGroup { #[serde(skip_serializing_if = “Option::is_none”)] #[serde(default)] pub group: Option<String>, #[serde(skip_serializing_if = “is_zero”)] #[serde(default)] pub proportion: u32, } /// This is only used for serialize #[allow(clippy::trivially_copy_pass_by_ref)] fn is_zero(num: &u32) -> bool { … Read more