Serialization and deserialization using serde
Serialization and deserialization are important concepts to understand for any kind of application needs to transfer or store data in a compact manner. Serialization is the process by which an in-memory data type can be converted into a sequence of bytes, while deserilization is the opposite of that, meaning it can read data. Many programming languages provide support for converting a data structure into a sequence of bytes. The beautiful part about serde
is that it generates the serialization of any supported type at compile time, relying heavily on procedural macros. Serialization and deserialization is a zero cost operation with serde most of the time.
In this demo, we'll explore the serde
crate to serialize and deserialize a user defined type. Let's create a new project by running cargo new serde_demo
with the following contents in Cargo.toml
:
# serde_demo/Cargo.toml [dependencies] serde = "1.0.84" serde_derive = "1.0.84" serde_json = "1.0...