Serializing objects to JSON and back using RTTI
When you are using a domain model pattern (and you should do most of the time for non-trivial applications), the entities managed by your program are contained in objects. An object has a state and methods to change its state, just like any actual object in the real world.
Getting ready
Just like the datasets in the previous recipe, the need to serialize an object in a JSON object, send the object somewhere, and then recreate that object as it was before is very common. In this recipe, we'll use the TJson
class and extend it with new functionalities.
How to do it…
Perform the following steps:
Create a new VCL Forms Application.
Drop four TButton and a TMemo on the form. Organize the TButton in a single row as a sort of toolbar and align the TMemo to cover the remaining part of the form.
Name the TButton as follows:
btnObjToJSON
btnJSONtoObject
btnListToJSONArray
btnJSONArrayToList
Add a new unit to the project, name it
JSON.Serializer.pas
and fill...