use serde::de::DeserializeOwned;
use serde::Serialize;
pub trait JsonSerializable: Serialize + DeserializeOwned {
fn to_json(&self) -> Result<String, serde_json::Error> {
serde_json::to_string(self) // 直接用 serde,省去 json_utils 包装
}
fn from_json(from: &str) -> Result<Self, serde_json::Error> {
serde_json::from_str(from)
}
// 注意:这里改成了关联函数 (没有 &self),因为你反序列化时还没有实例
}
impl<T: Serialize + DeserializeOwned> JsonSerializable for T {}