pub struct Builder<W = Vec<u8>> { /* private fields */ }
Expand description
A builder for JSON values.
Implementations§
source§impl<W: AsMut<Vec<u8>>> Builder<W>
impl<W: AsMut<Vec<u8>>> Builder<W>
sourcepub fn add_string(&mut self, v: &str)
pub fn add_string(&mut self, v: &str)
Adds a string value to the builder.
sourcepub fn display(&mut self, v: impl Display)
pub fn display(&mut self, v: impl Display)
Adds a string value that displays the given value to the builder.
sourcepub fn begin_array(&mut self)
pub fn begin_array(&mut self)
Begins an array.
The caller then needs to push the elements and call end_array
to finish the array.
sourcepub fn begin_object(&mut self)
pub fn begin_object(&mut self)
Begins an object.
The caller then needs to push the keys and values in the following order:
key-1, value-1, key-2, value-2 ...
where each key must be a string.
Keys are allowed to be duplicated, but the last value will be used.
Finally end_object
must be called to finish the object.
sourcepub fn end_object(&mut self)
pub fn end_object(&mut self)
Ends an object.
§Panics
Panics if:
- there is an odd number of entries pushed since the paired
begin_object
. - any key is not a string.
Trait Implementations§
source§impl<'de, W: AsMut<Vec<u8>>> DeserializeSeed<'de> for &mut Builder<W>
impl<'de, W: AsMut<Vec<u8>>> DeserializeSeed<'de> for &mut Builder<W>
source§fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error>where
D: Deserializer<'de>,
fn deserialize<D>(self, deserializer: D) -> Result<Self::Value, D::Error>where
D: Deserializer<'de>,
Equivalent to the more common
Deserialize::deserialize
method, except
with some initial piece of data (the seed) passed in.source§impl<W: AsMut<Vec<u8>>> SerializeMap for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> SerializeMap for &mut Builder<W>
source§impl<W: AsMut<Vec<u8>>> SerializeSeq for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> SerializeSeq for &mut Builder<W>
source§impl<W: AsMut<Vec<u8>>> SerializeStruct for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> SerializeStruct for &mut Builder<W>
source§impl<W: AsMut<Vec<u8>>> SerializeStructVariant for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> SerializeStructVariant for &mut Builder<W>
source§impl<W: AsMut<Vec<u8>>> SerializeTuple for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> SerializeTuple for &mut Builder<W>
source§impl<W: AsMut<Vec<u8>>> SerializeTupleStruct for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> SerializeTupleStruct for &mut Builder<W>
source§impl<W: AsMut<Vec<u8>>> SerializeTupleVariant for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> SerializeTupleVariant for &mut Builder<W>
source§impl<W: AsMut<Vec<u8>>> Serializer for &mut Builder<W>
impl<W: AsMut<Vec<u8>>> Serializer for &mut Builder<W>
Jsonbb is a data format.
§type Ok = ()
type Ok = ()
The output type produced by this
Serializer
during successful
serialization. Most serializers that produce text or binary output
should set Ok = ()
and serialize into an io::Write
or buffer
contained within the Serializer
instance. Serializers that build
in-memory data structures may be simplified by using Ok
to propagate
the data structure around.§type SerializeSeq = &mut Builder<W>
type SerializeSeq = &mut Builder<W>
Type returned from
serialize_seq
for serializing the content of the
sequence.§type SerializeTuple = &mut Builder<W>
type SerializeTuple = &mut Builder<W>
Type returned from
serialize_tuple
for serializing the content of
the tuple.§type SerializeTupleStruct = &mut Builder<W>
type SerializeTupleStruct = &mut Builder<W>
Type returned from
serialize_tuple_struct
for serializing the
content of the tuple struct.§type SerializeTupleVariant = &mut Builder<W>
type SerializeTupleVariant = &mut Builder<W>
Type returned from
serialize_tuple_variant
for serializing the
content of the tuple variant.§type SerializeMap = &mut Builder<W>
type SerializeMap = &mut Builder<W>
Type returned from
serialize_map
for serializing the content of the
map.§type SerializeStruct = &mut Builder<W>
type SerializeStruct = &mut Builder<W>
Type returned from
serialize_struct
for serializing the content of
the struct.§type SerializeStructVariant = &mut Builder<W>
type SerializeStructVariant = &mut Builder<W>
Type returned from
serialize_struct_variant
for serializing the
content of the struct variant.source§fn serialize_bool(self, v: bool) -> Result<Self::Ok, Self::Error>
fn serialize_bool(self, v: bool) -> Result<Self::Ok, Self::Error>
Serialize a
bool
value. Read moresource§fn serialize_i8(self, v: i8) -> Result<Self::Ok, Self::Error>
fn serialize_i8(self, v: i8) -> Result<Self::Ok, Self::Error>
Serialize an
i8
value. Read moresource§fn serialize_i16(self, v: i16) -> Result<Self::Ok, Self::Error>
fn serialize_i16(self, v: i16) -> Result<Self::Ok, Self::Error>
Serialize an
i16
value. Read moresource§fn serialize_i32(self, v: i32) -> Result<Self::Ok, Self::Error>
fn serialize_i32(self, v: i32) -> Result<Self::Ok, Self::Error>
Serialize an
i32
value. Read moresource§fn serialize_i64(self, v: i64) -> Result<Self::Ok, Self::Error>
fn serialize_i64(self, v: i64) -> Result<Self::Ok, Self::Error>
Serialize an
i64
value. Read moresource§fn serialize_i128(self, v: i128) -> Result<Self::Ok, Self::Error>
fn serialize_i128(self, v: i128) -> Result<Self::Ok, Self::Error>
Serialize an
i128
value. Read moresource§fn serialize_u16(self, v: u16) -> Result<Self::Ok, Self::Error>
fn serialize_u16(self, v: u16) -> Result<Self::Ok, Self::Error>
Serialize a
u16
value. Read moresource§fn serialize_u32(self, v: u32) -> Result<Self::Ok, Self::Error>
fn serialize_u32(self, v: u32) -> Result<Self::Ok, Self::Error>
Serialize a
u32
value. Read moresource§fn serialize_u64(self, v: u64) -> Result<Self::Ok, Self::Error>
fn serialize_u64(self, v: u64) -> Result<Self::Ok, Self::Error>
Serialize a
u64
value. Read moresource§fn serialize_u128(self, v: u128) -> Result<Self::Ok, Self::Error>
fn serialize_u128(self, v: u128) -> Result<Self::Ok, Self::Error>
Serialize a
u128
value. Read moresource§fn serialize_f32(self, v: f32) -> Result<Self::Ok, Self::Error>
fn serialize_f32(self, v: f32) -> Result<Self::Ok, Self::Error>
Serialize an
f32
value. Read moresource§fn serialize_f64(self, v: f64) -> Result<Self::Ok, Self::Error>
fn serialize_f64(self, v: f64) -> Result<Self::Ok, Self::Error>
Serialize an
f64
value. Read moresource§fn serialize_char(self, v: char) -> Result<Self::Ok, Self::Error>
fn serialize_char(self, v: char) -> Result<Self::Ok, Self::Error>
Serialize a character. Read more
source§fn serialize_bytes(self, v: &[u8]) -> Result<Self::Ok, Self::Error>
fn serialize_bytes(self, v: &[u8]) -> Result<Self::Ok, Self::Error>
Serialize a chunk of raw byte data. Read more
source§fn serialize_unit_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str
) -> Result<Self::Ok, Self::Error>
fn serialize_unit_variant( self, _name: &'static str, _variant_index: u32, variant: &'static str ) -> Result<Self::Ok, Self::Error>
source§fn serialize_newtype_struct<T>(
self,
_name: &'static str,
value: &T
) -> Result<Self::Ok, Self::Error>
fn serialize_newtype_struct<T>( self, _name: &'static str, value: &T ) -> Result<Self::Ok, Self::Error>
Serialize a newtype struct like
struct Millimeters(u8)
. Read moresource§fn serialize_newtype_variant<T>(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
value: &T
) -> Result<Self::Ok, Self::Error>
fn serialize_newtype_variant<T>( self, _name: &'static str, _variant_index: u32, variant: &'static str, value: &T ) -> Result<Self::Ok, Self::Error>
source§fn serialize_seq(
self,
_len: Option<usize>
) -> Result<Self::SerializeSeq, Self::Error>
fn serialize_seq( self, _len: Option<usize> ) -> Result<Self::SerializeSeq, Self::Error>
Begin to serialize a variably sized sequence. This call must be
followed by zero or more calls to
serialize_element
, then a call to
end
. Read moresource§fn serialize_tuple(
self,
len: usize
) -> Result<Self::SerializeTuple, Self::Error>
fn serialize_tuple( self, len: usize ) -> Result<Self::SerializeTuple, Self::Error>
Begin to serialize a statically sized sequence whose length will be
known at deserialization time without looking at the serialized data.
This call must be followed by zero or more calls to
serialize_element
,
then a call to end
. Read moresource§fn serialize_tuple_struct(
self,
_name: &'static str,
len: usize
) -> Result<Self::SerializeTupleStruct, Self::Error>
fn serialize_tuple_struct( self, _name: &'static str, len: usize ) -> Result<Self::SerializeTupleStruct, Self::Error>
Begin to serialize a tuple struct like
struct Rgb(u8, u8, u8)
. This
call must be followed by zero or more calls to serialize_field
, then a
call to end
. Read moresource§fn serialize_tuple_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
len: usize
) -> Result<Self::SerializeTupleVariant, Self::Error>
fn serialize_tuple_variant( self, _name: &'static str, _variant_index: u32, variant: &'static str, len: usize ) -> Result<Self::SerializeTupleVariant, Self::Error>
Begin to serialize a tuple variant like
E::T
in enum E { T(u8, u8) }
. This call must be followed by zero or more calls to
serialize_field
, then a call to end
. Read moresource§fn serialize_map(
self,
_len: Option<usize>
) -> Result<Self::SerializeMap, Self::Error>
fn serialize_map( self, _len: Option<usize> ) -> Result<Self::SerializeMap, Self::Error>
Begin to serialize a map. This call must be followed by zero or more
calls to
serialize_key
and serialize_value
, then a call to end
. Read moresource§fn serialize_struct(
self,
_name: &'static str,
len: usize
) -> Result<Self::SerializeStruct, Self::Error>
fn serialize_struct( self, _name: &'static str, len: usize ) -> Result<Self::SerializeStruct, Self::Error>
Begin to serialize a struct like
struct Rgb { r: u8, g: u8, b: u8 }
.
This call must be followed by zero or more calls to serialize_field
,
then a call to end
. Read moresource§fn serialize_struct_variant(
self,
_name: &'static str,
_variant_index: u32,
variant: &'static str,
len: usize
) -> Result<Self::SerializeStructVariant, Self::Error>
fn serialize_struct_variant( self, _name: &'static str, _variant_index: u32, variant: &'static str, len: usize ) -> Result<Self::SerializeStructVariant, Self::Error>
Begin to serialize a struct variant like
E::S
in enum E { S { r: u8, g: u8, b: u8 } }
. This call must be followed by zero or more calls to
serialize_field
, then a call to end
. Read moresource§fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
fn collect_str<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
Serialize a string produced by an implementation of
Display
. Read moresource§fn collect_seq<I>(self, iter: I) -> Result<Self::Ok, Self::Error>
fn collect_seq<I>(self, iter: I) -> Result<Self::Ok, Self::Error>
Collect an iterator as a sequence. Read more
source§fn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>
fn collect_map<K, V, I>(self, iter: I) -> Result<Self::Ok, Self::Error>
Collect an iterator as a map. Read more
source§fn is_human_readable(&self) -> bool
fn is_human_readable(&self) -> bool
Determine whether
Serialize
implementations should serialize in
human-readable form. Read moresource§impl<'de, W: AsMut<Vec<u8>>> Visitor<'de> for &mut Builder<W>
impl<'de, W: AsMut<Vec<u8>>> Visitor<'de> for &mut Builder<W>
source§fn expecting(&self, formatter: &mut Formatter<'_>) -> Result
fn expecting(&self, formatter: &mut Formatter<'_>) -> Result
Format a message stating what data this Visitor expects to receive. Read more
source§fn visit_str<E>(self, value: &str) -> Result<(), E>where
E: Error,
fn visit_str<E>(self, value: &str) -> Result<(), E>where
E: Error,
The input contains a string. The lifetime of the string is ephemeral and
it may be destroyed after this method returns. Read more
source§fn visit_none<E>(self) -> Result<(), E>
fn visit_none<E>(self) -> Result<(), E>
The input contains an optional that is absent. Read more
source§fn visit_some<D>(self, deserializer: D) -> Result<(), D::Error>where
D: Deserializer<'de>,
fn visit_some<D>(self, deserializer: D) -> Result<(), D::Error>where
D: Deserializer<'de>,
The input contains an optional that is present. Read more
source§fn visit_seq<V>(self, visitor: V) -> Result<(), V::Error>where
V: SeqAccess<'de>,
fn visit_seq<V>(self, visitor: V) -> Result<(), V::Error>where
V: SeqAccess<'de>,
The input contains a sequence of elements. Read more
source§fn visit_map<V>(self, visitor: V) -> Result<(), V::Error>where
V: MapAccess<'de>,
fn visit_map<V>(self, visitor: V) -> Result<(), V::Error>where
V: MapAccess<'de>,
The input contains a key-value map. Read more
source§fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>where
E: Error,
fn visit_i8<E>(self, v: i8) -> Result<Self::Value, E>where
E: Error,
The input contains an
i8
. Read moresource§fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>where
E: Error,
fn visit_i16<E>(self, v: i16) -> Result<Self::Value, E>where
E: Error,
The input contains an
i16
. Read moresource§fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>where
E: Error,
fn visit_i32<E>(self, v: i32) -> Result<Self::Value, E>where
E: Error,
The input contains an
i32
. Read moresource§fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>where
E: Error,
fn visit_i128<E>(self, v: i128) -> Result<Self::Value, E>where
E: Error,
The input contains a
i128
. Read moresource§fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>where
E: Error,
fn visit_u8<E>(self, v: u8) -> Result<Self::Value, E>where
E: Error,
The input contains a
u8
. Read moresource§fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>where
E: Error,
fn visit_u16<E>(self, v: u16) -> Result<Self::Value, E>where
E: Error,
The input contains a
u16
. Read moresource§fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>where
E: Error,
fn visit_u32<E>(self, v: u32) -> Result<Self::Value, E>where
E: Error,
The input contains a
u32
. Read moresource§fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>where
E: Error,
fn visit_u128<E>(self, v: u128) -> Result<Self::Value, E>where
E: Error,
The input contains a
u128
. Read moresource§fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>where
E: Error,
fn visit_f32<E>(self, v: f32) -> Result<Self::Value, E>where
E: Error,
The input contains an
f32
. Read moresource§fn visit_char<E>(self, v: char) -> Result<Self::Value, E>where
E: Error,
fn visit_char<E>(self, v: char) -> Result<Self::Value, E>where
E: Error,
The input contains a
char
. Read moresource§fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>where
E: Error,
fn visit_borrowed_str<E>(self, v: &'de str) -> Result<Self::Value, E>where
E: Error,
The input contains a string that lives at least as long as the
Deserializer
. Read moresource§fn visit_string<E>(self, v: String) -> Result<Self::Value, E>where
E: Error,
fn visit_string<E>(self, v: String) -> Result<Self::Value, E>where
E: Error,
The input contains a string and ownership of the string is being given
to the
Visitor
. Read moresource§fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>where
E: Error,
fn visit_bytes<E>(self, v: &[u8]) -> Result<Self::Value, E>where
E: Error,
The input contains a byte array. The lifetime of the byte array is
ephemeral and it may be destroyed after this method returns. Read more
source§fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>where
E: Error,
fn visit_borrowed_bytes<E>(self, v: &'de [u8]) -> Result<Self::Value, E>where
E: Error,
The input contains a byte array that lives at least as long as the
Deserializer
. Read moresource§fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>where
E: Error,
fn visit_byte_buf<E>(self, v: Vec<u8>) -> Result<Self::Value, E>where
E: Error,
The input contains a byte array and ownership of the byte array is being
given to the
Visitor
. Read moresource§fn visit_newtype_struct<D>(
self,
deserializer: D
) -> Result<Self::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn visit_newtype_struct<D>(
self,
deserializer: D
) -> Result<Self::Value, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
The input contains a newtype struct. Read more
source§fn visit_enum<A>(
self,
data: A
) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>where
A: EnumAccess<'de>,
fn visit_enum<A>(
self,
data: A
) -> Result<Self::Value, <A as EnumAccess<'de>>::Error>where
A: EnumAccess<'de>,
The input contains an enum. Read more
Auto Trait Implementations§
impl<W> Freeze for Builder<W>where
W: Freeze,
impl<W> RefUnwindSafe for Builder<W>where
W: RefUnwindSafe,
impl<W> Send for Builder<W>where
W: Send,
impl<W> Sync for Builder<W>where
W: Sync,
impl<W> Unpin for Builder<W>where
W: Unpin,
impl<W> UnwindSafe for Builder<W>where
W: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more