Crate serde_yaml_with_quirks[][src]

githubcrates-iodocs-rs


This crate is a Rust library for using the Serde serialization framework with data in YAML file format.

This library does not reimplement a YAML parser; it uses yaml-rust which is a pure Rust YAML 1.2 implementation.

Examples

use std::collections::BTreeMap;

fn main() -> Result<(), serde_yaml::Error> {
    // You have some type.
    let mut map = BTreeMap::new();
    map.insert("x".to_string(), 1.0);
    map.insert("y".to_string(), 2.0);

    // Serialize it to a YAML string.
    let s = serde_yaml::to_string(&map)?;
    assert_eq!(s, "---\nx: 1.0\ny: 2.0\n");

    // Deserialize it back to a Rust type.
    let deserialized_map: BTreeMap<String, f64> = serde_yaml::from_str(&s)?;
    assert_eq!(map, deserialized_map);
    Ok(())
}

Using Serde derive

It can also be used with Serde’s serialization code generator serde_derive to handle structs and enums defined in your own program.

use serde::{Serialize, Deserialize};

#[derive(Debug, PartialEq, Serialize, Deserialize)]
struct Point {
    x: f64,
    y: f64,
}

fn main() -> Result<(), serde_yaml::Error> {
    let point = Point { x: 1.0, y: 2.0 };

    let s = serde_yaml::to_string(&point)?;
    assert_eq!(s, "---\nx: 1.0\ny: 2.0\n");

    let deserialized_point: Point = serde_yaml::from_str(&s)?;
    assert_eq!(point, deserialized_point);
    Ok(())
}

Modules

mapping

A YAML mapping and its iterator types.

seed

Entry points for deserializing with pre-existing state.

Structs

Deserializer

A structure that deserializes YAML into Rust values.

DeserializingQuirks

Handling of nonstandard yaml features

Error

An error that happened serializing or deserializing YAML data.

Location

The input location that an error occured.

Mapping

A YAML mapping in which the keys and values are both serde_yaml::Value.

Number

Represents a YAML number, whether integer or floating point.

Serializer

A structure for serializing Rust values into YAML.

Enums

Value

Represents any valid YAML value.

Traits

Index

A type that can be used to index into a serde_yaml::Value. See the get and get_mut methods of Value.

Functions

from_reader

Deserialize an instance of type T from an IO stream of YAML.

from_slice

Deserialize an instance of type T from bytes of YAML text.

from_str

Deserialize an instance of type T from a string of YAML text.

from_value

Interpret a serde_yaml::Value as an instance of type T.

to_string

Serialize the given data structure as a String of YAML.

to_value

Convert a T into serde_yaml::Value which is an enum that can represent any valid YAML data.

to_vec

Serialize the given data structure as a YAML byte vector.

to_writer

Serialize the given data structure as YAML into the IO stream.

Type Definitions

Result

Alias for a Result with the error type serde_yaml::Error.

Sequence

A YAML sequence in which the elements are serde_yaml::Value.