In this chapter, we discussed serialization and deserialization processes using the serde crate. We looked at how serde supports multiple formats and can automatically derive Serialize and Deserialize implementations for structs or enumerations. We implemented a service that generates random numbers from incoming parameters serialized in JSON format.
After that, you learned how to implement these traits yourself and add extra features to shuffle an array or to generate a random color. Finally, we discussed how to support multiple formats in one handler.
In the next chapter, you'll learn how to use full potential of asynchronous code, and write microservices with Rust that can handle thousands of clients simultaneously.