Struct serde_json::de::Deserializer [] [src]

pub struct Deserializer<Iter: Iterator<Item=Result<u8>>> {
    // some fields omitted
}

A structure that deserializes JSON into Rust values.

Methods

impl<Iter> Deserializer<Iter> where Iter: Iterator<Item=Result<u8>>
[src]

fn new(rdr: Iter) -> Deserializer<Iter>

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 visit<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 visit_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 visit_newtype_struct<V>(&mut self, _name: &str, visitor: V) -> Result<V::Value> where V: Visitor

Parses a newtype struct as the underlying value.

fn visit_enum<V>(&mut self, _name: &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 format() -> &'static str

Specify a format string for the deserializer. Read more

fn visit_bool<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting a bool value.

fn visit_usize<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an usize value.

fn visit_u8<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an u8 value.

fn visit_u16<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an u16 value.

fn visit_u32<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an u32 value.

fn visit_u64<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an u64 value.

fn visit_isize<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an isize value.

fn visit_i8<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an i8 value.

fn visit_i16<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an i16 value.

fn visit_i32<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an i32 value.

fn visit_i64<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an i64 value.

fn visit_f32<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting a f32 value.

fn visit_f64<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting a f64 value.

fn visit_char<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting a char value.

fn visit_str<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting a &str value.

fn visit_string<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting a String value.

fn visit_unit<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting an unit value.

fn visit_seq<V>(&mut 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 visit_map<V>(&mut 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 visit_unit_struct<V>(&mut self, _name: &'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 visit_tuple_struct<V>(&mut self, _name: &'static str, len: 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 visit_struct<V>(&mut self, _name: &'static str, _fields: &'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 visit_tuple<V>(&mut self, _len: 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 visit_bytes<V>(&mut self, 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 visit_struct_field<V>(&mut self, visitor: V) -> Result<V::Value, Self::Error> where V: Visitor

This method hints that the Deserialize type is expecting some sort of struct key mapping. This allows deserializers to choose between &str, usize, or &[u8] to properly deserialize a struct key. Read more

impl<Iter> VariantVisitor 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 visit_variant<V>(&mut self) -> Result<V> where V: Deserialize

visit_variant is called to identify which variant to deserialize.

fn visit_unit(&mut self) -> Result<()>

visit_unit is called when deserializing a variant with no values.

fn visit_newtype<T>(&mut self) -> Result<T> where T: Deserialize

visit_newtype is called when deserializing a variant with a single value. By default this uses the visit_tuple method to deserialize the value. Read more

fn visit_tuple<V>(&mut self, _len: usize, visitor: V) -> Result<V::Value> where V: Visitor

visit_tuple is called when deserializing a tuple-like variant.

fn visit_struct<V>(&mut self, _fields: &'static [&'static str], visitor: V) -> Result<V::Value> where V: Visitor

visit_struct is called when deserializing a struct-like variant.