Crate serde_core

source ·
Expand description

Serde is a framework for serializing and deserializing Rust data structures efficiently and generically.

The serde_core crate contains Serde’s trait definitions with no support for #[derive()].

In crates that derive an implementation of Serialize or Deserialize, you must depend on the serde crate, not serde_core.

In crates that handwrite implementations of Serde traits, or only use them as trait bounds, depending on serde_core is permitted. But serde re-exports all of these traits and can be used for this use case too. If in doubt, disregard serde_core and always use serde.

Crates that depend on serde_core instead of serde are able to compile in parallel with serde_derive even when serde’s “derive” feature is turned on, as shown in the following build timings.


When serde_json depends on serde

When serde_json depends on serde_core

Modules

  • Generic data structure deserialization framework.
  • Generic data structure serialization framework.

Macros

Traits

  • A data structure that can be deserialized from any data format supported by Serde.
  • A data format that can deserialize any data structure supported by Serde.
  • A data structure that can be serialized into any data format supported by Serde.
  • A data format that can serialize any data structure supported by Serde.