12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- program ObjectToJsonStream;
- {$APPTYPE CONSOLE}
- {$R *.res}
- uses
- Classes,
- System.SysUtils,
- Quick.Console,
- Quick.Json.Serializer;
- type
- TUser = class
- private
- fName : string;
- fAge : Integer;
- public
- property Name : string read fName write fName;
- property Age : Integer read fAge write fAge;
- end;
- var
- ss : TStringStream;
- user : TUser;
- serializer : TJsonSerializer;
- begin
- try
- user := TUser.Create;
- user.Name := 'John';
- user.Age := 30;
- ss := TStringStream.Create;
- try
- serializer := TJsonSerializer.Create(TSerializeLevel.slPublicProperty,True);
- try
- serializer.ObjectToJsonStream(user,ss);
- cout(ss.DataString,ccWhite);
- user.Name := 'Peter';
- serializer.JsonStreamToObject(user,ss);
- Assert(user.Name = 'John','Serializer not modified property!');
- cout(user.Name,ccWhite);
- finally
- serializer.Free;
- end;
- finally
- ss.Free;
- end;
- user.Free;
- ConsoleWaitForEnterKey;
- except
- on E: Exception do
- Writeln(E.ClassName, ': ', E.Message);
- end;
- end.
|