14 个版本
0.5.1 | 2023年3月4日 |
---|---|
0.4.1 | 2022年3月25日 |
0.3.2 | 2021年3月11日 |
0.3.1 | 2020年12月28日 |
0.1.3 | 2018年12月29日 |
#54 在 编码 分类中
232,421 每月下载量
用于 742 个 crate (140 直接)
12KB
178 行
serde-big-array
为 serde 提供大数组辅助功能。这个 crate 的目的是使大小大于 32 的数组(反)序列化变得容易。这个解决方案是必需的,直到 serde 采纳 const generics 支持。
基于 这个片段。
extern crate serde;
#[macro_use]
extern crate serde_derive;
extern crate serde_json;
#[macro_use]
extern crate serde_big_array;
use serde_big_array::BigArray;
#[derive(Serialize, Deserialize)]
struct S {
#[serde(with = "BigArray")]
arr: [u8; 64],
}
#[test]
fn test() {
let s = S { arr: [1; 64] };
let j = serde_json::to_string(&s).unwrap();
let s_back = serde_json::from_str::<S>(&j).unwrap();
assert!(&s.arr[..] == &s_back.arr[..]);
}
重要链接
- 原始 serde 问题 请求大数组支持
- serde 中的 const generics 支持 issue
- serde PR 添加 const generics 支持
- Rust const generics 追踪问题
- Rust 复杂泛型常量追踪问题
MSRV
最低支持的 Rust 版本 (MSRV) 是 Rust 1.56.0。
许可证
此 crate 在 MIT 许可证和 Apache 许可证(版本 2.0)的条款下分发,由您选择。
有关详细信息,请参阅 LICENSE-APACHE 和 LICENSE-MIT。
您贡献的许可证
除非您明确说明,否则任何有意提交以包含在您的工作中的贡献(根据 Apache-2.0 许可证定义),均应如上所述双许可,不附加任何额外条款或条件。
依赖项
~110–355KB