pub trait Deserialize<'de>: Sized {
// Required method
fn deserialize<D>(
deserializer: D,
) -> Result<Self, <D as Deserializer<'de>>::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§
Sourcefn deserialize<D>(
deserializer: D,
) -> Result<Self, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<Self, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
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.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.
Implementations on Foreign Types§
Source§impl<'de> Deserialize<'de> for IpAddr
impl<'de> Deserialize<'de> for IpAddr
fn deserialize<D>(
deserializer: D,
) -> Result<IpAddr, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for SocketAddr
impl<'de> Deserialize<'de> for SocketAddr
fn deserialize<D>(
deserializer: D,
) -> Result<SocketAddr, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for CookieDomain
impl<'de> Deserialize<'de> for CookieDomain
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CookieDomain, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for CookieExpiration
impl<'de> Deserialize<'de> for CookieExpiration
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CookieExpiration, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ClientNotification
Implementing the Deserialize trait
This allows enum to be deserialized into correct type based on the value of the “method”
impl<'de> Deserialize<'de> for ClientNotification
Implementing the Deserialize trait This allows enum to be deserialized into correct type based on the value of the “method”
fn deserialize<D>(
deserializer: D,
) -> Result<ClientNotification, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ClientRequest
Implementing the Deserialize trait
This allows enum to be deserialized into correct type based on the value of the “method”
impl<'de> Deserialize<'de> for ClientRequest
Implementing the Deserialize trait This allows enum to be deserialized into correct type based on the value of the “method”
fn deserialize<D>(
deserializer: D,
) -> Result<ClientRequest, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ClientResult
impl<'de> Deserialize<'de> for ClientResult
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ClientResult, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for CompleteRequestParamsRef
impl<'de> Deserialize<'de> for CompleteRequestParamsRef
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompleteRequestParamsRef, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ContentBlock
impl<'de> Deserialize<'de> for ContentBlock
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ContentBlock, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for CreateMessageRequestParamsIncludeContext
impl<'de> Deserialize<'de> for CreateMessageRequestParamsIncludeContext
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CreateMessageRequestParamsIncludeContext, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for CreateMessageResultContent
impl<'de> Deserialize<'de> for CreateMessageResultContent
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CreateMessageResultContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ElicitResultAction
impl<'de> Deserialize<'de> for ElicitResultAction
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ElicitResultAction, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ElicitResultContentValue
impl<'de> Deserialize<'de> for ElicitResultContentValue
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ElicitResultContentValue, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for EmbeddedResourceResource
impl<'de> Deserialize<'de> for EmbeddedResourceResource
fn deserialize<__D>(
__deserializer: __D,
) -> Result<EmbeddedResourceResource, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for JsonrpcMessage
impl<'de> Deserialize<'de> for JsonrpcMessage
fn deserialize<__D>(
__deserializer: __D,
) -> Result<JsonrpcMessage, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for LoggingLevel
impl<'de> Deserialize<'de> for LoggingLevel
fn deserialize<__D>(
__deserializer: __D,
) -> Result<LoggingLevel, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for NumberSchemaType
impl<'de> Deserialize<'de> for NumberSchemaType
fn deserialize<__D>(
__deserializer: __D,
) -> Result<NumberSchemaType, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for PrimitiveSchemaDefinition
impl<'de> Deserialize<'de> for PrimitiveSchemaDefinition
fn deserialize<__D>(
__deserializer: __D,
) -> Result<PrimitiveSchemaDefinition, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ProgressToken
impl<'de> Deserialize<'de> for ProgressToken
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ProgressToken, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ReadResourceResultContentsItem
impl<'de> Deserialize<'de> for ReadResourceResultContentsItem
fn deserialize<__D>(
__deserializer: __D,
) -> Result<ReadResourceResultContentsItem, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for RequestId
impl<'de> Deserialize<'de> for RequestId
fn deserialize<__D>(
__deserializer: __D,
) -> Result<RequestId, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for Role
impl<'de> Deserialize<'de> for Role
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Role, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for SamplingMessageContent
impl<'de> Deserialize<'de> for SamplingMessageContent
fn deserialize<__D>(
__deserializer: __D,
) -> Result<SamplingMessageContent, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ServerNotification
Implementing the Deserialize trait
This allows enum to be deserialized into correct type based on the value of the “method”
impl<'de> Deserialize<'de> for ServerNotification
Implementing the Deserialize trait This allows enum to be deserialized into correct type based on the value of the “method”
fn deserialize<D>(
deserializer: D,
) -> Result<ServerNotification, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Source§impl<'de> Deserialize<'de> for ServerRequest
Implementing the Deserialize trait
This allows enum to be deserialized into correct type based on the value of the “method”
impl<'de> Deserialize<'de> for ServerRequest
Implementing the Deserialize trait This allows enum to be deserialized into correct type based on the value of the “method”