unit Unit1;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs,
System.JSON.Serializers, Vcl.StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
type
TRecA = record
stringValue: string;
datetimeValue: TDateTime;
integerValue: Integer;
doubleValue: Double;
end;
TRecB = record
stringValue: string;
datetimeValue: TDateTime;
integerValue: Integer;
doubleValue: Double;
end;
TRecAB = record
A: TRecA;
B: TRecB;
end;
begin
var AB: TRecAB;
AB.A.stringValue := 'hello world';
AB.A.datetimeValue := Now;
AB.A.integerValue := 123;
AB.A.doubleValue := 3.1415926;
AB.B.stringValue := 'HELLO WORLD';
AB.B.datetimeValue := Now;
AB.B.integerValue := 666;
AB.B.doubleValue := 3.1415927;
var Arr: TArray<TRecAB>;
SetLength(Arr, 1);
Arr[0] := AB;
var s := TJsonSerializer.Create;
Memo1.Text := s.Serialize<TArray<TRecAB>>(Arr);
var d := TJsonSerializer.Create;
var EmptyArray: TArray<Integer> := d.Deserialize<TArray<Integer>>('[]');
Caption := Length(EmptyArray).ToString;
end;
end.
记不清什么时候有的,个人感觉还是很好用的. 可以控制 序列化属性,字段(私有)等。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?