Add newtype deserialization for Json(_) for parity with Cbor(_).

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2025-12-30 18:42:46 +00:00
parent 0bbe96f761
commit 63bdeb79c9
2 changed files with 7 additions and 1 deletions
+6
View File
@@ -272,6 +272,12 @@ fn deserialize_newtype_struct<V>(self, name: &'static str, visitor: V) -> Result
{
match name {
| "$serde_json::private::RawValue" => visitor.visit_map(self),
| "Json" => visitor
.visit_newtype_struct(&mut serde_json::Deserializer::from_slice(
self.record_trail(),
))
.map_err(|e| Self::Error::SerdeDe(format!("{name}: {e}").into())),
| "Cbor" => visitor
.visit_newtype_struct(&mut minicbor_serde::Deserializer::new(self.record_trail()))
.map_err(|e| Self::Error::SerdeDe(format!("{name}: {e}").into())),
+1 -1
View File
@@ -52,7 +52,7 @@ pub(crate) struct Serializer<'a, W: Write> {
}
/// Newtype for JSON serialization.
#[derive(Debug, Serialize)]
#[derive(Debug, Deserialize, Serialize)]
pub struct Json<T>(pub T);
/// Newtype for CBOR serialization.