ToB企服应用市场:ToB评测及商务社交产业平台

标题: delphi JSON序列化(五) [打印本页]

作者: 北冰洋以北    时间: 2024-3-28 20:30
标题: delphi JSON序列化(五)
关于TJSONConverters的使用
  1. unit Unit1;
  2. interface
  3. uses
  4.   Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  5.   Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Buttons, Rest.JSON.Types, Rest.JsonReflect;
  6. type
  7.   TForm1 = class(TForm)
  8.     Memo1: TMemo;
  9.     procedure FormCreate(Sender: TObject);
  10.   private
  11.     { Private declarations }
  12.   public
  13.     { Public declarations }
  14.   end;
  15.   TValueObject = class
  16.   private
  17.     FValue: string;
  18.     FCreateTime: TDateTime;
  19.   public
  20.     constructor Create;
  21.     property Value: string read FValue write FValue;
  22.     property CreateTime: TDateTime read FCreateTime write FCreateTime;
  23.   end;
  24. var
  25.   Form1: TForm1;
  26. implementation
  27. {$R *.dfm}
  28. uses
  29.   REST.Json, System.Generics.Collections;
  30. procedure TForm1.FormCreate(Sender: TObject);
  31. begin
  32.   var ce := TConverterEvent.Create(TValueObject, 'FValue'); // 使用此构造函数
  33.   ce.StringConverter := function(Data: TObject; Field: string): string
  34.     begin
  35.       Result := 'haha';
  36.     end;
  37.   TJSONConverters.AddConverter(ce);
  38.   Memo1.Text := TJson.ObjectToJsonString(TValueObject.Create);
  39. end;
  40. { TValueObject }
  41. constructor TValueObject.Create;
  42. begin
  43.   inherited Create;
  44.   FValue := 'test value';
  45.   FCreateTime := Now;
  46. end;
  47. end.
复制代码
结果: {"value":"haha","createTime":"2024-01-10T17:15:33.588Z"}
 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4