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