Skip to main content

JsonSerializer

Struct JsonSerializer 

Source
pub struct JsonSerializer { /* private fields */ }
Expand description

JSON serializer with configurable formatting options.

Implementations§

Source§

impl JsonSerializer

Source

pub fn new() -> Self

Create a new JSON serializer with default (compact) options.

Source

pub const fn with_options(options: SerializeOptions) -> Self

Create a new JSON serializer with the given options.

Source

pub fn finish(self) -> Vec<u8>

Consume the serializer and return the output bytes.

Trait Implementations§

Source§

impl Default for JsonSerializer

Source§

fn default() -> Self

Returns the “default value” for a type. Read more
Source§

impl FormatSerializer for JsonSerializer

Source§

type Error = JsonSerializeError

Format-specific error type.
Source§

fn begin_struct(&mut self) -> Result<(), Self::Error>

Begin a map/object/struct.
Source§

fn field_key(&mut self, key: &str) -> Result<(), Self::Error>

Emit a field key within a struct.
Source§

fn end_struct(&mut self) -> Result<(), Self::Error>

End a map/object/struct.
Source§

fn begin_seq(&mut self) -> Result<(), Self::Error>

Begin a sequence/array.
Source§

fn end_seq(&mut self) -> Result<(), Self::Error>

End a sequence/array.
Source§

fn scalar(&mut self, scalar: ScalarValue<'_>) -> Result<(), Self::Error>

Emit a scalar value.
Source§

fn raw_serialize_shape(&self) -> Option<&'static Shape>

Returns the shape of the format’s raw capture type for serialization. Read more
Source§

fn raw_scalar(&mut self, content: &str) -> Result<(), Self::Error>

Emit a raw scalar value (for RawJson, etc.) without any encoding/escaping. Read more
Source§

fn format_namespace(&self) -> Option<&'static str>

Returns the format namespace for format-specific proxy resolution. Read more
Source§

fn emit_field_key(&mut self, key: &FieldKey<'_>) -> Result<(), Self::Error>

Emit a rich field key with optional tag and documentation. Read more
Source§

fn field_metadata(&mut self, _field: &FieldItem) -> Result<(), Self::Error>

Optional: Provide field metadata before field_key is called. Default implementation does nothing.
Source§

fn field_metadata_with_value( &mut self, _field: &FieldItem, _value: Peek<'_, '_>, ) -> Result<bool, Self::Error>

Optional: Provide field metadata with access to the field value. Read more
Source§

fn struct_metadata(&mut self, _shape: &Shape) -> Result<(), Self::Error>

Optional: Provide struct/enum type metadata when beginning to serialize it. Default implementation does nothing.
Source§

fn variant_metadata( &mut self, _variant: &'static Variant, ) -> Result<(), Self::Error>

Optional: Provide variant metadata before serializing an enum variant. Default implementation does nothing.
Source§

fn serialize_metadata_container( &mut self, _container: &PeekStruct<'_, '_>, ) -> Result<bool, Self::Error>

Serialize a metadata container value. Read more
Source§

fn preferred_field_order(&self) -> FieldOrdering

Preferred field ordering for this format. Default is declaration order.
Source§

fn struct_field_mode(&self) -> StructFieldMode

Preferred struct field mode for this format.
Source§

fn map_encoding(&self) -> MapEncoding

Preferred map encoding for this format.
Source§

fn enum_variant_encoding(&self) -> EnumVariantEncoding

Preferred enum variant encoding for this format.
Source§

fn is_self_describing(&self) -> bool

Whether this format is self-describing (includes type information). Read more
Source§

fn dynamic_value_encoding(&self) -> DynamicValueEncoding

Preferred dynamic value encoding for this format.
Source§

fn serialize_opaque_scalar( &mut self, _shape: &'static Shape, _value: Peek<'_, '_>, ) -> Result<bool, Self::Error>

Serialize an opaque scalar type with a format-specific encoding. Read more
Source§

fn dynamic_value_tag( &mut self, _tag: DynamicValueTag, ) -> Result<(), Self::Error>

Emit a dynamic value type tag. Read more
Source§

fn begin_seq_with_len(&mut self, _len: usize) -> Result<(), Self::Error>

Begin a sequence with known length. Read more
Source§

fn begin_map_with_len(&mut self, _len: usize) -> Result<(), Self::Error>

Begin serializing a map with known length. Read more
Source§

fn end_map(&mut self) -> Result<(), Self::Error>

End a map/object/struct. Read more
Source§

fn serialize_map_key(&mut self, _key: Peek<'_, '_>) -> Result<bool, Self::Error>

Serialize a map key in MapEncoding::Struct mode. Read more
Source§

fn typed_scalar( &mut self, scalar_type: ScalarType, value: Peek<'_, '_>, ) -> Result<(), Self::Error>

Serialize a scalar with full type information. Read more
Source§

fn begin_option_some(&mut self) -> Result<(), Self::Error>

Begin serializing Option::Some(value). Read more
Source§

fn serialize_none(&mut self) -> Result<(), Self::Error>

Serialize Option::None. Read more
Source§

fn begin_enum_variant( &mut self, _variant_index: usize, _variant_name: &'static str, ) -> Result<(), Self::Error>

Begin an enum variant with its index and name. Read more
Source§

fn write_variant_tag( &mut self, _variant_name: &str, ) -> Result<bool, Self::Error>

Write a tag for an externally-tagged enum variant. Read more
Source§

fn begin_struct_after_tag(&mut self) -> Result<(), Self::Error>

Begin a struct directly after a variant tag (no separator). Read more
Source§

fn begin_seq_after_tag(&mut self) -> Result<(), Self::Error>

Begin a sequence directly after a variant tag (no separator). Read more
Source§

fn serialize_byte_sequence( &mut self, _bytes: &[u8], ) -> Result<bool, Self::Error>

Serialize a byte sequence (Vec<u8>, &[u8], etc.) in bulk. Read more
Source§

fn serialize_byte_array(&mut self, _bytes: &[u8]) -> Result<bool, Self::Error>

Serialize a fixed-size byte array ([u8; N]) in bulk. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.