serde-tuple-vec-map 1.0.1

Deserialize a serialized map to a Vec<(K, V)> in serde
Documentation

serde-tuple-vec-map

Build Status crates.io version badge

Deserialize maps or JSON objects in serde to a vec of tuples rather than a HashMap for when you're only ever going to iterate over the result.

Usage:

// replace this:
#[derive(Serialize, Deserialize)]
struct MyStuff {
    data: HashMap<KeyType, ValueType>,
}

// with this:
#[derive(Serialize, Deserialize)]
struct MyStuff {
    #[serde(with = "tuple_vec_map")]
    data: Vec<(KeyType, ValueType)>,
}

The serialized format remains exactly the same, the only difference is in how the data is decoded in Rust.

serde-tuple-vec-map supports no_std builds by using Vec defined in the alloc crate. If you're on rust 1.36.0 or newer, you can enable this with default-features=false:

[dependencies.serde-tuple-vec-map]
version = "1"
default-features = false

Note: This crate is complete, and passively maintained. It depends solely on serde and features present in stable rust. The minimum supported rust version 1.13.0 when using default features, and 1.36.0 for default-features = false.

Full usage example in tests/integration.rs, documentation at https://docs.rs/serde-tuple-vec-map.