Implement the JsonSerializable interface to indicate that your class can both be converted from its Java representation
to Json and from Json to its Java representation. In addition to implementing this interface, such a class must also
have an empty constructor, which can be called before the object is populated using Json. The constructor may
however be private, such that clients can never use it.
See also
JsonSerializableSerializer
.