pub trait Deserialize<'de>: Sized {
    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§

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§

Requires crate feature "serde" or "serde-1"

Requires crate feature "serde" or "serde-1"

Implementors§

impl<'de> Deserialize<'de> for Extensions

impl<'de> Deserialize<'de> for ExtensionsFork

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, 'a, U> Deserialize<'de> for Cow<'a, str, U>where
    U: Capacity,
    'de: 'a,

impl<'de, 'a, T, U> Deserialize<'de> for Cow<'a, [T], U>where
    [T]: Beef,
    U: Capacity,
    <[T] as ToOwned>::Owned: Deserialize<'de>,

impl<'de> Deserialize<'de> for Public

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for Requirements

impl<'de> Deserialize<'de> for OpaqueMetadata

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

impl<'de> Deserialize<'de> for Weight

impl<'de> Deserialize<'de> for DispatchClass

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for Ratio

impl<'de, Balance> Deserialize<'de> for Volume<Balance>where
    Balance: Deserialize<'de>,

impl<'de, Balance> Deserialize<'de> for Liquidity<Balance>where
    Balance: Deserialize<'de>,

impl<'de, AccountId, AssetId, AssetPair, Balance> Deserialize<'de> for AMMTransfer<AccountId, AssetId, AssetPair, Balance>where
    AccountId: Deserialize<'de>,
    AssetId: Deserialize<'de>,
    AssetPair: Deserialize<'de>,
    Balance: Deserialize<'de>,

impl<'de> Deserialize<'de> for TwoPointZero

impl<'de: 'a, 'a> Deserialize<'de> for SubscriptionId<'a>

impl<'de: 'a, 'a> Deserialize<'de> for Id<'a>

impl<'de: 'a, 'a> Deserialize<'de> for Request<'a>

impl<'de: 'a, 'a> Deserialize<'de> for InvalidRequest<'a>

impl<'de: 'a, 'a, T> Deserialize<'de> for Notification<'a, T>where
    T: Deserialize<'de>,

impl<'de: 'a, 'a, T> Deserialize<'de> for Response<'a, T>where
    T: Deserialize<'de>,

impl<'de: 'a, 'a, T> Deserialize<'de> for SubscriptionPayload<'a, T>where
    T: Deserialize<'de>,

impl<'de: 'a, 'a, T> Deserialize<'de> for SubscriptionPayloadError<'a, T>where
    T: Deserialize<'de>,

impl<'de: 'a, 'a> Deserialize<'de> for ErrorResponse<'a>

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

impl<'a> Deserialize<'a> for ErrorCode

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for Multiaddr

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, Value, Moment> Deserialize<'de> for TimestampedValue<Value, Moment>where
    Value: Deserialize<'de> + Ord + PartialOrd,
    Moment: Deserialize<'de>,

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, AssetId> Deserialize<'de> for AssetType<AssetId>where
    AssetId: Deserialize<'de>,

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config<I>, I: 'static> Deserialize<'de> for GenesisConfig<T, I>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config<I>, I: 'static> Deserialize<'de> for GenesisConfig<T, I>

impl<'de> Deserialize<'de> for VoteThreshold

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, BlockNumber> Deserialize<'de> for OracleEntry<BlockNumber>where
    BlockNumber: Deserialize<'de>,

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for WeightCurveType

impl<'de, AccountId, BlockNumber> Deserialize<'de> for Pool<AccountId, BlockNumber>where
    AccountId: Deserialize<'de>,
    BlockNumber: Deserialize<'de> + AtLeast32BitUnsigned + Copy,

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, AccountId, Balance, BlockNumber> Deserialize<'de> for Offer<AccountId, Balance, BlockNumber>where
    AccountId: Deserialize<'de>,
    Balance: Deserialize<'de>,
    BlockNumber: Deserialize<'de>,

impl<'de, AccountId> Deserialize<'de> for Royalty<AccountId>where
    AccountId: Deserialize<'de>,

impl<'de, T: Config<I>, I: 'static> Deserialize<'de> for GenesisConfig<T, I>

impl<'de, BlockHash> Deserialize<'de> for LeafProof<BlockHash>where
    BlockHash: Deserialize<'de>,

impl<'de, BlockHash> Deserialize<'de> for LeafBatchProof<BlockHash>where
    BlockHash: Deserialize<'de>,

impl<'de, CollectionType, BoundedVec> Deserialize<'de> for CollectionInfo<CollectionType, BoundedVec>where
    CollectionType: Deserialize<'de>,
    BoundedVec: Deserialize<'de>,

impl<'de, BoundedVec> Deserialize<'de> for ItemInfo<BoundedVec>where
    BoundedVec: Deserialize<'de>,

impl<'de> Deserialize<'de> for CollectionType

impl<'de> Deserialize<'de> for NftPermissions

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for PriceEntry

impl<'de> Deserialize<'de> for PriceInfo

impl<'de> Deserialize<'de> for BucketQueue

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config<I>, I: 'static> Deserialize<'de> for GenesisConfig<T, I>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, AccountId> Deserialize<'de> for StakerStatus<AccountId>where
    AccountId: Deserialize<'de>,

impl<'de> Deserialize<'de> for Forcing

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de, Balance> Deserialize<'de> for InclusionFee<Balance>where
    Balance: Deserialize<'de>,

impl<'de, Balance> Deserialize<'de> for FeeDetails<Balance>where
    Balance: Deserialize<'de> + Default,

impl<'de, Balance> Deserialize<'de> for RuntimeDispatchInfo<Balance>where
    Balance: FromStr,

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, AccountId, Balance> Deserialize<'de> for Proposal<AccountId, Balance>where
    AccountId: Deserialize<'de>,
    Balance: Deserialize<'de>,

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for Proof

impl<'de> Deserialize<'de> for ErasureChunk

impl<'de> Deserialize<'de> for HeadData

impl<'de> Deserialize<'de> for ValidationCode

impl<'de> Deserialize<'de> for BlockData

impl<'de> Deserialize<'de> for Id

impl<'de> Deserialize<'de> for ValidatorIndex

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for StatementKind

impl<'de> Deserialize<'de> for EthereumAddress

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, BlockNumber> Deserialize<'de> for HostConfiguration<BlockNumber>where
    BlockNumber: Deserialize<'de>,

impl<'de, T: Config> Deserialize<'de> for GenesisConfig<T>

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for ParaGenesisArgs

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for Extensions

impl<'de> Deserialize<'de> for AssetPair

impl<'de> Deserialize<'de> for IntentionType

impl<'de, AccountId, Balance, IntentionID> Deserialize<'de> for ExchangeIntention<AccountId, Balance, IntentionID>where
    AccountId: Deserialize<'de>,
    Balance: Deserialize<'de>,
    IntentionID: Deserialize<'de>,

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de, BlockNumber, T> Deserialize<'de> for Forks<BlockNumber, T>where
    BlockNumber: Deserialize<'de> + Ord,
    T: Deserialize<'de> + Group,

impl<'de> Deserialize<'de> for ChainType

impl<'de> Deserialize<'de> for ImportedAux

impl<'de> Deserialize<'de> for EpochAuthorship

impl<'de> Deserialize<'de> for NetworkState

impl<'de> Deserialize<'de> for Peer

impl<'de> Deserialize<'de> for NotConnectedPeer

impl<'de> Deserialize<'de> for PeerEndpoint

impl<'de> Deserialize<'de> for Endpoint

impl<'de> Deserialize<'de> for MultiaddrWithPeerId

impl<'de, Hash> Deserialize<'de> for ExtrinsicOrHash<Hash>where
    Hash: Deserialize<'de>,

impl<'de> Deserialize<'de> for BlockStats

impl<'de, Hash> Deserialize<'de> for ReadProof<Hash>where
    Hash: Deserialize<'de>,

impl<'de> Deserialize<'de> for Health

impl<'de, Hash, Number> Deserialize<'de> for PeerInfo<Hash, Number>where
    Hash: Deserialize<'de>,
    Number: Deserialize<'de>,

impl<'de> Deserialize<'de> for NodeRole

impl<'de, Number> Deserialize<'de> for SyncState<Number>where
    Number: Deserialize<'de>,

impl<'de> Deserialize<'de> for TelemetryEndpoints

impl<'de, Hash, BlockHash> Deserialize<'de> for TransactionStatus<Hash, BlockHash>where
    Hash: Deserialize<'de>,
    BlockHash: Deserialize<'de>,

impl<'de> Deserialize<'de> for AllowedSlots

impl<'de> Deserialize<'de> for Slot

impl<'de> Deserialize<'de> for OpaqueLeaf

impl<'de> Deserialize<'de> for ElectionScore

impl<'de, AccountId> Deserialize<'de> for Support<AccountId>where
    AccountId: Deserialize<'de>,

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

impl<'de> Deserialize<'de> for NumberOrHex

impl<'de> Deserialize<'de> for BlockTrace

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

impl<'de> Deserialize<'de> for Span

impl<'de> Deserialize<'de> for Data

impl<'de> Deserialize<'de> for TraceError

impl<'de> Deserialize<'de> for TraceBlockResponse

impl<'de> Deserialize<'de> for RuntimeVersion

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig

impl<'de> Deserialize<'de> for SessionKeys

impl<'de> Deserialize<'de> for GenesisConfig