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 编码

Download history • Rust 包仓库 2392/week @ 2024-03-13 • Rust 包仓库 2673/week @ 2024-03-20 • Rust 包仓库 2384/week @ 2024-03-27 • Rust 包仓库 2466/week @ 2024-04-03 • Rust 包仓库 2148/week @ 2024-04-10 • Rust 包仓库 2272/week @ 2024-04-17 • Rust 包仓库 1993/week @ 2024-04-24 • Rust 包仓库 2216/week @ 2024-05-01 • Rust 包仓库 2021/week @ 2024-05-08 • Rust 包仓库 2089/week @ 2024-05-15 • Rust 包仓库 1900/week @ 2024-05-22 • Rust 包仓库 2062/week @ 2024-05-29 • Rust 包仓库 1860/week @ 2024-06-05 • Rust 包仓库 1936/week @ 2024-06-12 • Rust 包仓库 2238/week @ 2024-06-19 • Rust 包仓库 2284/week @ 2024-06-26 • Rust 包仓库

8,597 每月下载量
用于 2 crates

MIT/Apache

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