#serde #serialization #traits #standardized #format #multi #dynamic

已删除 serde_multi

为基于 serde 的 crate 提供标准化的 trait API,以及提供动态序列化和反序列化的特性

0.1.1 2021年5月2日
0.1.0 2021年5月2日

#14#standardized

BSL-1.0 许可证

41KB
852

Serde Multi

Crate API

此库在多个文件格式上暴露了一个标准化的 API,同时提供了特性,使您能够在运行时或基于泛型动态选择文件序列化和反序列化格式。

每个文件格式都可以通过特性来切换,所有特性默认都是禁用的。

目前支持的唯一文件格式是

如果您想添加更多文件格式,请随时提交 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