pub fn dehexify_vec_then_deserialize_into<'de, D, T>(
hex: D,
) -> Result<T, D::Error>
Expand description
Deserialize hex to T
where T: From<Vec<u8>>
.
ยงExamples
use serde::Deserialize;
#[derive(Debug, PartialEq)]
struct Ljf(Vec<u8>);
impl From<Vec<u8>> for Ljf {
fn from(vec: Vec<u8>) -> Self {
Self(vec)
}
}
#[derive(Debug, PartialEq, Deserialize)]
struct WrappedLjf {
#[serde(deserialize_with = "array_bytes::dehexify_vec_then_deserialize_into")]
ljf: Ljf,
}
assert_eq!(
serde_json::from_str::<WrappedLjf>(r#"{
"ljf": "0x4c6f7665204a616e6520466f7265766572"
}"#).unwrap(),
WrappedLjf {
ljf: Ljf(b"Love Jane Forever".to_vec())
}
);