Crates.io | serde_multi |
lib.rs | serde_multi |
version | 0.1.1 |
source | src |
created_at | 2021-05-02 20:25:37.598257 |
updated_at | 2021-05-02 20:56:31.880493 |
description | Standardized trait API for `serde`-based crates and dynamic serialization/deserialization. |
homepage | |
repository | https://github.com/ScottyThePilot/serde_multi |
max_upload_size | |
id | 392277 |
size | 42,259 |
This library exposes a standardized API across a number of file formats, as well as providing traits to make it possible to dynamically choose file serialization/deserialization format at runtime or based on generics.
Each file format is toggled via feature, all of which are disabled by default.
Currently the only supported file formats are:
bincode
)serde_cbor
)serde_json
)rmp
and rmp-serde
)ron
)toml
)serde-xml-rs
)If you would like to add more file formats, feel free to make a 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);