1个不稳定版本
0.1.0 | 2021年11月3日 |
---|
#2362 in 编码
8KB
64 行
serde_bytes_wrapper
Vec的包装器,使用serde_bytes作为表示。
它实现了Deserialize、Serialize和Deref/DerefMut到Vec;
当你想要类似的功能时很有用
#[derive(serde::Deserialize, serde::Serialize, Debug)]
struct Val {
#[serde(with = "serde_bytes")]
val: Option<Vec<Vec<u8>>>,
}
你可以使用它代替
use serde_bytes_wrapper::Bytes;
#[derive(serde::Deserialize, serde::Serialize, Debug)]
struct Val {
val: Option<Vec<Bytes>>,
}
示例
use serde::{Deserialize, Serialize};
use serde_bytes_wrapper::Bytes;
#[derive(Deserialize, Serialize, Debug)]
struct Val {
val: Option<Vec<Bytes>>,
}
fn main() {
let result = serde_cbor::to_vec(&Val {
val: Some(vec![vec![1, 2, 3].into()])
}).unwrap();
println!("{:?}", result); // [161, 99, 118, 97, 108, 129, 67, 1, 2, 3]
}
依赖项
~0.4–1MB
~24K SLoC