Serializing data
When we talk about serializing and deserializing data, what we're really talking about is translation. While we've been translating our text and XML piecemeal in previous sections, being able to take an entire object and translate it in one shot is a great tool to have.
By definition:
- The act of serializing an object translates the object's entire state into another format
- The act of deserializing is the reverse, taking the data from a file and restoring it to its former object state
Figure 12.19: Example of serializing an object into XML and JSON
Let's take a practical example from the above image — an instance of our Weapon
class. Each weapon has its own name and damage properties and associated values, which is called its state. The state of an object is unique, which allows the program to tell them apart.
An object's state also includes properties or fields that are reference types. For...