Rust 如何更改自定义类型的serde行为

Rust 如何更改自定义类型的serde行为,rust,serde,Rust,Serde,如何改变Serde与对象交互的方式 我的目标是建立一个包含多个观察值的结构: pub特征可观察{ fn获取(&self)->&T; fn get_mut(&mut self)->&mut T; fn集合(&mut self,新值:T); fn观察者(&mut self,观察者:O); } 观察到pub结构{ // ... } //观察到的可观察到的impl。。。 结构SomeStateStore{ pub pin_a_状态:观察到, pub pin_b_州:观察到, pub pin_c_状态:观

如何改变Serde与对象交互的方式

我的目标是建立一个包含多个观察值的结构:

pub特征可观察{
fn获取(&self)->&T;
fn get_mut(&mut self)->&mut T;
fn集合(&mut self,新值:T);
fn观察者(&mut self,观察者:O);
}
观察到pub结构{
// ...
}
//观察到的可观察到的impl。。。
结构SomeStateStore{
pub pin_a_状态:观察到,
pub pin_b_州:观察到,
pub pin_c_状态:观察到,
pub pin_d_州:观察到,
pub some_other_state:观察到,
}
其目的是能够将状态彼此连接起来,并在值发生更改时触发该行为,例如使用rest调用

我的问题是,我还想使用serde存储/加载此数据。有没有一种方法可以让Serde看到我的impl的
T
,用于观察
?我以前研究过塞德,很难理解