【问题标题】:Serialize and Deserialize from Vec<u32>从 Vec<u32> 序列化和反序列化
【发布时间】:2020-06-03 00:42:08
【问题描述】:

我有一个 5 u32s 的结构,它通过简单的序列化来实现序列化/反序列化:(s.first, s.second, s.third, s.fourth, s.fifth)

但是,这需要从表示数据的Vec&lt;u32&gt;Option&lt;Vec32&gt; 的平面缓冲区打包和解包:基本上每5 个u32s 就是一个新结构。我一直在为访问者的实施而苦苦挣扎。在Option 和非Option 案例之间共享代码时,有没有一种简单的方法可以做到这一点?

我真的很想做impl Serialize for Vec&lt;MyType&gt;(和Deserialize),但这不起作用。

【问题讨论】:

    标签: rust serde


    【解决方案1】:

    我最终放弃了我的 SerializeDeserialize impls 并使用 #[serde(with="my_mod"] 处理 Vec&lt;MyType> 案例。

    对于Option&lt;Vec&lt;MyType&gt;&gt; 案例,我最终创建了反转关系的包装器类型,因此我真正序列化/反序列化的是Option&lt;Wrapper { Vec&lt;T&gt; }&gt;

    【讨论】:

      猜你喜欢
      • 2012-03-17
      • 2013-04-19
      • 2018-12-05
      • 2013-01-08
      • 2015-03-17
      • 2015-08-28
      相关资源
      最近更新 更多