use serde::{Deserialize, Deserializer, Serialize};
pub fn json_none<'de, D>(deserializer: D) -> Result<Option<String>, D::Error>
where
D: Deserializer<'de>,
{
let string: Option<String> = Option::deserialize(deserializer)?;
match string.as_deref() {
Some("none") => Ok(None),
_ => Ok(string),
}
}
pub fn serialize_json<T: Serialize>(value: &T) -> String {
serde_json::to_string(value).unwrap_or_default()
}
pub fn serialize_json_opt<T: Serialize>(value: Option<T>) -> Option<String> {
value.map(|v| serde_json::to_string(&v).unwrap_or_default())
}