20个版本
0.1.19 | 2024年4月8日 |
---|---|
0.1.18 | 2024年1月2日 |
0.1.17 | 2023年10月30日 |
0.1.16 | 2023年7月27日 |
0.1.3 | 2019年2月21日 |
#1029 in 编码
2,068,664 每月下载量
用于 2,470 个crate (559直接)
14KB
210 行
Serde repr derive
此crate提供了一个派生宏,以派生Serde的Serialize
和Deserialize
特性,这种方式会委托到C样枚举的底层repr。
[dependencies]
serde = "1.0"
serde_repr = "0.1"
use serde_repr::{Serialize_repr, Deserialize_repr};
#[derive(Serialize_repr, Deserialize_repr, PartialEq, Debug)]
#[repr(u8)]
enum SmallPrime {
Two = 2,
Three = 3,
Five = 5,
Seven = 7,
}
fn main() -> serde_json::Result<()> {
let j = serde_json::to_string(&SmallPrime::Seven)?;
assert_eq!(j, "7");
let p: SmallPrime = serde_json::from_str("2")?;
assert_eq!(p, SmallPrime::Two);
Ok(())
}
许可证
根据您的选择,许可协议为Apache License, Version 2.0或MIT许可证。除非您明确说明,否则根据Apache-2.0许可证定义,您提交的任何有意包含在此crate中的贡献,将根据上述条款双许可,不附加任何额外条款或条件。
依赖项
~260–710KB
~17K SLoC