2
0

ObjectToJsonStream.dpr 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. program ObjectToJsonStream;
  2. {$APPTYPE CONSOLE}
  3. {$R *.res}
  4. uses
  5. Classes,
  6. System.SysUtils,
  7. Quick.Console,
  8. Quick.Json.Serializer;
  9. type
  10. TUser = class
  11. private
  12. fName : string;
  13. fAge : Integer;
  14. public
  15. property Name : string read fName write fName;
  16. property Age : Integer read fAge write fAge;
  17. end;
  18. var
  19. ss : TStringStream;
  20. user : TUser;
  21. serializer : TJsonSerializer;
  22. begin
  23. try
  24. user := TUser.Create;
  25. user.Name := 'John';
  26. user.Age := 30;
  27. ss := TStringStream.Create;
  28. try
  29. serializer := TJsonSerializer.Create(TSerializeLevel.slPublicProperty,True);
  30. try
  31. serializer.ObjectToJsonStream(user,ss);
  32. cout(ss.DataString,ccWhite);
  33. user.Name := 'Peter';
  34. serializer.JsonStreamToObject(user,ss);
  35. Assert(user.Name = 'John','Serializer not modified property!');
  36. cout(user.Name,ccWhite);
  37. finally
  38. serializer.Free;
  39. end;
  40. finally
  41. ss.Free;
  42. end;
  43. user.Free;
  44. ConsoleWaitForEnterKey;
  45. except
  46. on E: Exception do
  47. Writeln(E.ClassName, ': ', E.Message);
  48. end;
  49. end.