6个版本
0.2.4 | 2022年7月24日 |
---|---|
0.2.3 | 2022年6月4日 |
0.2.2 | 2022年3月11日 |
0.2.1 | 2021年12月19日 |
0.1.0 | 2021年12月16日 |
#1353 in 编码
8,597 每月下载量
用于 2 crates
15KB
360 行
Serde-CS
Serde-CS为逗号分隔列表提供了序列化和反序列化的包装器。
lib.rs
:
serde-cs
为逗号分隔列表提供了序列化和反序列化的包装器。
示例
序列化
use serde_cs::vec::CS;
type Csu32 = CS<u32>;
let cs: Csu32 = CS(vec![]);
let s = serde_json::to_string(&cs).unwrap();
assert_eq!(s, r#""""#);
let cs: Csu32 = CS(vec![1]);
let s = serde_json::to_string(&cs).unwrap();
assert_eq!(s, r#""1""#);
let cs: Csu32 = CS(vec![1, 2, 3]);
let s = serde_json::to_string(&cs).unwrap();
assert_eq!(s, r#""1,2,3""#);
反序列化
use serde_cs::vec::CS;
type Csu32 = CS<u32>;
let s = r#""""#;
let CS(cs): Csu32 = serde_json::from_str(s).unwrap();
assert_eq!(cs, vec![0u32; 0]);
let s = r#"",,,,""#;
let CS(cs): Csu32 = serde_json::from_str(s).unwrap();
assert_eq!(cs, vec![0u32; 0]);
let s = r#"",,1,,,,,""#;
let CS(cs): Csu32 = serde_json::from_str(s).unwrap();
assert_eq!(cs, vec![1]);
let s = r#"",,1,,,2,,,,""#;
let CS(cs): Csu32 = serde_json::from_str(s).unwrap();
assert_eq!(cs, vec![1, 2]);
let s = r#"",,1,,,a,,,,""#;
let res: Result<Csu32, _> = serde_json::from_str(s);
assert!(res.is_err());
依赖
~110–355KB