pub trait Deserialize<'de>: Sized {
    fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
    where
        D: Deserializer<'de>
; }
Expand description

A data structure that can be deserialized from any data format supported by Serde.

Serde provides Deserialize implementations for many Rust primitive and standard library types. The complete list is here. All of these can be deserialized using Serde out of the box.

Additionally, Serde provides a procedural macro called serde_derive to automatically generate Deserialize implementations for structs and enums in your program. See the derive section of the manual for how to use this.

In rare cases it may be necessary to implement Deserialize manually for some type in your program. See the Implementing Deserialize section of the manual for more about this.

Third-party crates may provide Deserialize implementations for types that they expose. For example the linked-hash-map crate provides a LinkedHashMap<K, V> type that is deserializable by Serde because the crate provides an implementation of Deserialize for it.

Lifetime

The 'de lifetime of this trait is the lifetime of data that may be borrowed by Self when deserialized. See the page Understanding deserializer lifetimes for a more detailed explanation of these lifetimes.

Required methods

Deserialize this value from the given Serde deserializer.

See the Implementing Deserialize section of the manual for more information about how to implement this method.

Implementations on Foreign Types

Implementors

impl<'de> Deserialize<'de> for NaiveDate

impl<'de> Deserialize<'de> for NaiveDateTime

impl<'de> Deserialize<'de> for NaiveTime

impl<'de> Deserialize<'de> for DateTime<FixedOffset>

impl<'de> Deserialize<'de> for DateTime<Utc>

impl<'de> Deserialize<'de> for DateTime<Local>

impl<'de> Deserialize<'de> for Weekday

impl<'de> Deserialize<'de> for Month

impl<'de, 'a> Deserialize<'de> for Cookie<'a>

impl<'de> Deserialize<'de> for DebugId

impl<'de> Deserialize<'de> for Level

impl<'de> Deserialize<'de> for LevelFilter

impl<'de> Deserialize<'de> for FileAppenderConfig

impl<'de> Deserialize<'de> for DeleteRollerConfig

impl<'de> Deserialize<'de> for SizeTriggerConfig

impl<'de> Deserialize<'de> for AppenderConfig

impl<'de> Deserialize<'de> for FilterConfig

impl<'de> Deserialize<'de> for RawConfig

impl<'de> Deserialize<'de> for JsonEncoderConfig

impl<'de> Deserialize<'de> for EncoderConfig

impl<'de> Deserialize<'de> for Auth

impl<'de> Deserialize<'de> for Dsn

impl<'de> Deserialize<'de> for ProjectId

impl<'de, T> Deserialize<'de> for Values<T> where
    T: Deserialize<'de>, 

impl<'de> Deserialize<'de> for LogEntry

impl<'de> Deserialize<'de> for Frame

impl<'de> Deserialize<'de> for TemplateInfo

impl<'de> Deserialize<'de> for Stacktrace

impl<'de> Deserialize<'de> for ThreadId

impl<'de> Deserialize<'de> for Addr

impl<'de> Deserialize<'de> for RegVal

impl<'de> Deserialize<'de> for Thread

impl<'de> Deserialize<'de> for CError

impl<'de> Deserialize<'de> for MachException

impl<'de> Deserialize<'de> for PosixSignal

impl<'de> Deserialize<'de> for MechanismMeta

impl<'de> Deserialize<'de> for Mechanism

impl<'de> Deserialize<'de> for Exception

impl<'de> Deserialize<'de> for Level

impl<'de> Deserialize<'de> for Breadcrumb

impl<'de> Deserialize<'de> for IpAddress

impl<'de> Deserialize<'de> for User

impl<'de> Deserialize<'de> for Request

impl<'de> Deserialize<'de> for SystemSdkInfo

impl<'de> Deserialize<'de> for DebugImage

impl<'de> Deserialize<'de> for AppleDebugImage

impl<'de> Deserialize<'de> for SymbolicDebugImage

impl<'de> Deserialize<'de> for ProguardDebugImage

impl<'de> Deserialize<'de> for DebugMeta

impl<'de> Deserialize<'de> for ClientSdkInfo

impl<'de> Deserialize<'de> for ClientSdkPackage

impl<'de> Deserialize<'de> for Context

impl<'de> Deserialize<'de> for Orientation

impl<'de> Deserialize<'de> for DeviceContext

impl<'de> Deserialize<'de> for OsContext

impl<'de> Deserialize<'de> for RuntimeContext

impl<'de> Deserialize<'de> for AppContext

impl<'de> Deserialize<'de> for BrowserContext

impl<'de, 'a> Deserialize<'de> for Event<'a>

impl<'de> Deserialize<'de> for Map<String, Value>

impl<'de> Deserialize<'de> for Value

impl<'de> Deserialize<'de> for Number

impl<'de> Deserialize<'de> for Value

impl<'de> Deserialize<'de> for Mapping

impl<'de> Deserialize<'de> for Number

impl<'de> Deserialize<'de> for Value

impl<'de> Deserialize<'de> for De<Url>

impl<'de> Deserialize<'de> for De<Option<Url>>

impl<'de> Deserialize<'de> for De<Host>

impl<'de, T> Deserialize<'de> for Serde<T> where
    De<T>: Deserialize<'de>,
    for<'a> Ser<'a, T>: Serialize

impl<'de> Deserialize<'de> for Uuid