beisen/utils/serde/mod.rs
1use serde::{Deserialize, Deserializer};
2
3// json解析时,null值解析成对应的默认值
4pub fn deserialize_null_default<'de, D, T>(deserializer: D) -> Result<T, D::Error>
5where
6 T: Default + Deserialize<'de>,
7 D: Deserializer<'de>,
8{
9 let opt = Option::deserialize(deserializer)?;
10 Ok(opt.unwrap_or_default())
11}