我有5个u32
的结构,可以通过简单地序列化来实现序列化/反序列化:(s.first, s.second, s.third, s.fourth, s.fifth)
。
但是,这需要从表示数据的Vec<u32>
或Option<Vec32>
的 FlatBuffers 中进行打包和解包:基本上每5个u32
都是一个新结构。我一直在努力与访客的实现。在Option
和非Option
案例之间共享代码时,有一种简单的方法吗?
我真的很想做impl Serialize for Vec<MyType>
(和Deserialize
),但这是行不通的。
最佳答案
我最终放弃了Serialize
和Deserialize
impls,并使用#[serde(with="my_mod"]
进行Vec<MyType
>案例。
对于Option<Vec<MyType>>
情况,我最终创建了包装类型,该包装类型反转了关系,因此我真正进行序列化/反序列化的是Option<Wrapper { Vec<T> }>
关于rust - 从Vec <u32>进行序列化和反序列化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60290298/