Object serialization and deserialization are one of the primary operations in any enterprise application. Object states are required to be serialized in order to be transformed from one system to another over a network connection, and the other system needs to deserialize the object in order to construct it back and start processing its state. This is a primary concept in remote procedure calls performed in distributed systems.
Although JSON is one of the top essentials in distributed systems communication, there was no standard Java APIs for parsing and generating JSON until Java EE 8. Of course, third-party libraries such as Jackson and GSON have existed for many years, but Java EE 8 finally introduced the standard JSON-B (JSON Binding) API, which is very similar in the name and concepts of the JAXB (Java API for XML Binding) API.
In this chapter...