Struct serde_json::de::Deserializer
[−]
[src]
pub struct Deserializer<R> { /* fields omitted */ }
A structure that deserializes JSON into Rust values.
Methods
impl<I> Deserializer<IteratorRead<I>> where I: Iterator<Item=Result<u8>>
[src]
fn from_iter(iter: I) -> Self
Creates a JSON parser from a std::iter::Iterator
.
impl<R> Deserializer<IteratorRead<Bytes<R>>> where R: Read
[src]
fn from_reader(reader: R) -> Self
Creates a JSON parser from an io::Read
.
impl<'a> Deserializer<SliceRead<'a>>
[src]
fn from_slice(bytes: &'a [u8]) -> Self
Creates a JSON parser from a &[u8]
.
impl<'a> Deserializer<StrRead<'a>>
[src]
impl<R: Read> Deserializer<R>
[src]
fn end(&mut self) -> Result<()>
The Deserializer::end
method should be called after a value has been fully deserialized.
This allows the Deserializer
to validate that the input stream is at the end or that it
only has trailing whitespace.
fn into_iter<T>(self) -> StreamDeserializer<R, T> where T: Deserialize
Turn a JSON deserializer into an iterator over values of type T.
Trait Implementations
impl<'a, R: Read> Deserializer for &'a mut Deserializer<R>
[src]
type Error = Error
The error type that can be returned if some error occurs during deserialization.
fn deserialize<V>(self, visitor: V) -> Result<V::Value> where V: Visitor
This method walks a visitor through a value as it is being deserialized.
fn deserialize_option<V>(self, visitor: V) -> Result<V::Value> where V: Visitor
Parses a null
as a None, and any other values as a Some(...)
.
fn deserialize_newtype_struct<V>(self,
_name: &str,
visitor: V)
-> Result<V::Value> where V: Visitor
_name: &str,
visitor: V)
-> Result<V::Value> where V: Visitor
Parses a newtype struct as the underlying value.
fn deserialize_enum<V>(self,
_name: &str,
_variants: &'static [&'static str],
visitor: V)
-> Result<V::Value> where V: Visitor
_name: &str,
_variants: &'static [&'static str],
visitor: V)
-> Result<V::Value> where V: Visitor
Parses an enum as an object like {"$KEY":$VALUE}
, where $VALUE is either a straight
value, a [..]
, or a {..}
.
fn deserialize_bool<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a bool
value.
fn deserialize_usize<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an usize
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u8<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u8
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u16<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u16
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u32<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u32
value. A reasonable default is to forward to deserialize_u64
. Read more
fn deserialize_u64<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an u64
value.
fn deserialize_isize<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an isize
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i8<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i8
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i16<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i16
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i32<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i32
value. A reasonable default is to forward to deserialize_i64
. Read more
fn deserialize_i64<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an i64
value.
fn deserialize_f32<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a f32
value. A reasonable default is to forward to deserialize_f64
. Read more
fn deserialize_f64<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a f64
value.
fn deserialize_char<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a char
value.
fn deserialize_str<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a &str
value.
fn deserialize_string<__V>(self,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a String
value.
fn deserialize_unit<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting an unit
value.
fn deserialize_seq<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a sequence value. This allows deserializers to parse sequences that aren't tagged as sequences. Read more
fn deserialize_seq_fixed_size<__V>(self,
_: usize,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
_: usize,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a fixed size array. This allows deserializers to parse arrays that aren't tagged as arrays. Read more
fn deserialize_bytes<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a &[u8]
. This allows deserializers that provide a custom byte vector serialization to properly deserialize the type. Read more
fn deserialize_byte_buf<__V>(self,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a Vec<u8>
. This allows deserializers that provide a custom byte vector serialization to properly deserialize the type and prevent needless intermediate allocations that would occur when going through &[u8]
. Read more
fn deserialize_map<__V>(self, visitor: __V) -> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a map of values. This allows deserializers to parse sequences that aren't tagged as maps. Read more
fn deserialize_unit_struct<__V>(self,
_: &'static str,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
_: &'static str,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a unit struct. This allows deserializers to a unit struct that aren't tagged as a unit struct. Read more
fn deserialize_tuple_struct<__V>(self,
_: &'static str,
_: usize,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
_: &'static str,
_: usize,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a tuple struct. This allows deserializers to parse sequences that aren't tagged as sequences. Read more
fn deserialize_struct<__V>(self,
_: &'static str,
_: &'static [&'static str],
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
_: &'static str,
_: &'static [&'static str],
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a struct. This allows deserializers to parse sequences that aren't tagged as maps. Read more
fn deserialize_struct_field<__V>(self,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting some sort of struct field name. This allows deserializers to choose between &str, usize, or &[u8] to properly deserialize a struct field. Read more
fn deserialize_tuple<__V>(self,
_: usize,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
_: usize,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type is expecting a tuple value. This allows deserializers that provide a custom tuple serialization to properly deserialize the type. Read more
fn deserialize_ignored_any<__V>(self,
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
visitor: __V)
-> Result<__V::Value, Self::Error> where __V: Visitor
This method hints that the Deserialize
type needs to deserialize a value whose type doesn't matter because it is ignored. Read more