Module paralegal_spdg::utils::serde_map_via_vec
source · Expand description
Serialize a HashMap
by converting it to a Vec
, lifting
restrictions on the types of permissible keys.
The JSON serializer for HashMap
needs the keys to serialize to a
JSON string object, but sometimes that is not the case. Since the
HashMap
struct only requires its keys be Eq
and Hash
other
non-string values may have been used as key. Unfortunately you can still
use the Serialize
trait on HashMap
, even if the keys do not
serialize to strings. Instead a runtime error will be thrown when a
non-string key is encountered.
This module converts the HashMap
into a Vec
of tuples and
(de)serializes that, which permits arbitrary types to be used for the
keys.
You are meant to use both serialize
and deserialize
, because the
Serialize
and Deserialize
instances of HashMap
do not work
together with these functions.