| Crates.io | serde_multi |
| lib.rs | serde_multi |
| version | 0.1.1 |
| created_at | 2021-05-02 20:25:37.598257+00 |
| updated_at | 2021-05-02 20:56:31.880493+00 |
| 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);