Struct Deserializer
struct Deserializer<R> { ... }
A structure that deserializes JSON into Rust values.
Implementations
impl<'a> Deserializer<read::SliceRead<'a>>
fn from_slice(bytes: &'a [u8]) -> SelfCreates a JSON deserializer from a
&[u8].
impl<'a> Deserializer<read::StrRead<'a>>
fn from_str(s: &'a str) -> SelfCreates a JSON deserializer from a
&str.
impl<'de, R> Deserializer<R>
fn new(read: R) -> SelfCreate a JSON deserializer from one of the possible serde_json input sources.
When reading from a source against which short reads are not efficient, such as a
File, you will want to apply your own buffering because serde_json will not buffer the input. Seestd::io::BufReader.Typically it is more convenient to use one of these methods instead:
- Deserializer::from_str
- Deserializer::from_slice
- Deserializer::from_reader
impl<'de, R: Read<'de>> Deserializer<R>
fn end(self: &mut Self) -> Result<()>The
Deserializer::endmethod should be called after a value has been fully deserialized. This allows theDeserializerto validate that the input stream is at the end or that it only has trailing whitespace.fn into_iter<T>(self: Self) -> StreamDeserializer<'de, R, T> where T: de::Deserialize<'de>Turn a JSON deserializer into an iterator over values of type T.
impl<R> Deserializer<read::IoRead<R>>
fn from_reader(reader: R) -> SelfCreates a JSON deserializer from an
io::Read.Reader-based deserializers do not support deserializing borrowed types like
&str, since thestd::io::Readtrait has no non-copying methods -- everything it does involves copying bytes out of the data source.
impl<R> Freeze for Deserializer<R>
impl<R> RefUnwindSafe for Deserializer<R>
impl<R> Send for Deserializer<R>
impl<R> Sync for Deserializer<R>
impl<R> Unpin for Deserializer<R>
impl<R> UnwindSafe for Deserializer<R>
impl<T> Any for Deserializer<R>
fn type_id(self: &Self) -> TypeId
impl<T> Borrow for Deserializer<R>
fn borrow(self: &Self) -> &T
impl<T> BorrowMut for Deserializer<R>
fn borrow_mut(self: &mut Self) -> &mut T
impl<T> From for Deserializer<R>
fn from(t: T) -> TReturns the argument unchanged.
impl<T, U> Into for Deserializer<R>
fn into(self: Self) -> UCalls
U::from(self).That is, this conversion is whatever the implementation of
[From]<T> for Uchooses to do.
impl<T, U> TryFrom for Deserializer<R>
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
impl<T, U> TryInto for Deserializer<R>
fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>