Struct serde_yaml::Deserializer[][src]

pub struct Deserializer<'a> { /* fields omitted */ }

A structure that deserializes YAML into Rust values.

Examples

Deserializing a single document:

use anyhow::Result;
use serde::Deserialize;
use serde_yaml::Value;

fn main() -> Result<()> {
    let input = "---\nk: 107\n";
    let de = serde_yaml::Deserializer::from_str(input);
    let value = Value::deserialize(de)?;
    println!("{:?}", value);
    Ok(())
}

Deserializing multi-doc YAML:

use anyhow::Result;
use serde::Deserialize;
use serde_yaml::Value;

fn main() -> Result<()> {
    let input = "---\nk: 107\n...\n---\nj: 106\n";

    for document in serde_yaml::Deserializer::from_str(input) {
        let value = Value::deserialize(document)?;
        println!("{:?}", value);
    }

    Ok(())
}

Implementations

impl<'a> Deserializer<'a>[src]

pub fn from_str(s: &'a str) -> Self[src]

Creates a YAML deserializer from a &str.

pub fn from_slice(v: &'a [u8]) -> Self[src]

Creates a YAML deserializer from a &[u8].

pub fn from_reader<R>(rdr: R) -> Self where
    R: Read + 'a, 
[src]

Creates a YAML deserializer from an io::Read.

Reader-based deserializers do not support deserializing borrowed types like &str, since the std::io::Read trait has no non-copying methods -- everything it does involves copying bytes out of the data source.

Trait Implementations

impl<'de> Deserializer<'de> for Deserializer<'de>[src]

type Error = Error

The error type that can be returned if some error occurs during deserialization. Read more

impl<'de> Iterator for Deserializer<'de>[src]

type Item = Self

The type of the elements being iterated over.

Auto Trait Implementations

impl<'a> !RefUnwindSafe for Deserializer<'a>[src]

impl<'a> !Send for Deserializer<'a>[src]

impl<'a> !Sync for Deserializer<'a>[src]

impl<'a> Unpin for Deserializer<'a>[src]

impl<'a> !UnwindSafe for Deserializer<'a>[src]

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.