0.1.1 |
|
---|---|
0.1.0 |
|
#14 在 #standardized
41KB
852 行
Serde Multi
此库在多个文件格式上暴露了一个标准化的 API,同时提供了特性,使您能够在运行时或基于泛型动态选择文件序列化和反序列化格式。
每个文件格式都可以通过特性来切换,所有特性默认都是禁用的。
目前支持的唯一文件格式是
- Bincode(通过
bincode
) - CBOR(通过
serde_cbor
) - JSON(通过
serde_json
) - MessagePack(通过
rmp
和rmp-serde
) - RON(通过
ron
) - TOML(通过
toml
) - XML(通过
serde-xml-rs
)
如果您想添加更多文件格式,请随时提交 pull request。
示例用法
use serde_multi::{SerdeText, Error};
use serde_multi::formats::json::Json;
use std::collections::HashMap;
let mut value: HashMap<String, i32> = HashMap::new();
value.insert("foo".to_owned(), -193);
value.insert("bar".to_owned(), 3058);
// `Json` can be swapped out for any value that implements `SerdeText` here.
let s = Json.to_string(&value).expect("failed to serialize");
println!("serialized: {}", s);
依赖项
~0.1–1MB
~20K SLoC