How to convert an object to JSON and back with a single line of code

by Jun 5, 2014

Ever wanted to take an Object into a format that is easily persisted and back? Well now you can. New in XE6 is the REST.JSON unit. This allows you access to TJSON a class with some very helpful class methods. Using TJSON you can convert an object to a JSON string and back with a little help from generics along the way.

The following code uses a class called TFoo that has a Foo and a Fee property (string and Integer) Using TJson you can then see how to covert the object to a string and back ready for storage, transport etc.

uses REST.JSON; // Also new System.JSON

procedure TForm1.Button1Click(Sender: TObject);
var
 Foo: TFoo;
begin
 Foo := TFoo.Create;
 try
   Foo.Foo := 'Hello World'    Foo.Fee := 42    Memo1.Lines.Text := TJson.ObjectToJsonString(Foo);
 finally
   Foo.Free;
 end  Foo := TJson.JsonToObject<TFoo>(Memo1.Lines.Text);
  try
   Foo.Fee := 100    Memo1.Lines.Add(TJson.ObjectToJsonString(Foo));
 finally
   Foo.Free;
 end end

If you want to watch this being demo'ed this very show video shows it in action http://youtu.be/TSqWoFvjj5g