- default
Read JSON handle missing fields - set defaults
examples/json/set-default-values/src/main.rs
use serde::Deserialize; #[derive(Deserialize, Debug)] #[allow(dead_code)] struct Person { #[serde(default = "get_default_fname")] fname: String, #[serde(default = "get_default_false")] married: bool, } fn get_default_fname() -> String { String::from("Foo") } fn get_default_false() -> bool { false } fn main() { let content = "{}"; let data = serde_json::from_str::<Person>(content).expect("JSON parsing error"); println!("{:#?}", &data); }
Person { fname: "Foo", married: false, }