Struct serde_json::de::Deserializer
[−]
[src]
pub struct Deserializer<Iter>(_) where Iter: Iterator<Item = Result<u8>>;A structure that deserializes JSON into Rust values.
Methods
impl<Iter> Deserializer<Iter> where Iter: Iterator<Item = Result<u8>>[src]
fn new(rdr: Iter) -> Self
Creates the JSON parser from an std::iter::Iterator.
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.
Trait Implementations
impl<Iter> Deserializer for Deserializer<Iter> where Iter: Iterator<Item = Result<u8>>[src]
type Error = Error
The error type that can be returned if some error occurs during deserialization.
fn deserialize<V>(&mut 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>(&mut 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>(&mut self,
name: &'static str,
visitor: V)
-> Result<V::Value> where V: Visitor
name: &'static str,
visitor: V)
-> Result<V::Value> where V: Visitor
Parses a newtype struct as the underlying value.
fn deserialize_enum<V>(&mut self,
name: &'static str,
variants: &'static [&'static str],
visitor: V)
-> Result<V::Value> where V: EnumVisitor
name: &'static str,
variants: &'static [&'static str],
visitor: V)
-> Result<V::Value> where V: EnumVisitor
Parses an enum as an object like {"$KEY":$VALUE}, where $VALUE is either a straight value, a [..], or a {..}.
fn deserialize_bool<__V>(&mut 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 bool value.
fn deserialize_usize<__V>(&mut 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 an usize value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u8<__V>(&mut 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 an u8 value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u16<__V>(&mut 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 an u16 value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u32<__V>(&mut 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 an u32 value. A reasonable default is to forward to deserialize_u64. Read more
fn deserialize_u64<__V>(&mut 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 an u64 value.
fn deserialize_isize<__V>(&mut 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 an isize value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i8<__V>(&mut 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 an i8 value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i16<__V>(&mut 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 an i16 value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i32<__V>(&mut 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 an i32 value. A reasonable default is to forward to deserialize_i64. Read more
fn deserialize_i64<__V>(&mut 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 an i64 value.
fn deserialize_f32<__V>(&mut 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 f32 value. A reasonable default is to forward to deserialize_f64. Read more
fn deserialize_f64<__V>(&mut 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 f64 value.
fn deserialize_char<__V>(&mut 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 char value.
fn deserialize_str<__V>(&mut 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 &str value.
fn deserialize_string<__V>(&mut 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>(&mut 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 an unit value.
fn deserialize_seq<__V>(&mut 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 sequence value. This allows deserializers to parse sequences that aren't tagged as sequences. Read more
fn deserialize_seq_fixed_size<__V>(&mut 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>(&mut 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. Read more
fn deserialize_map<__V>(&mut 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 map of values. This allows deserializers to parse sequences that aren't tagged as maps. Read more
fn deserialize_unit_struct<__V>(&mut 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>(&mut 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>(&mut 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>(&mut 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>(&mut 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>(&mut 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