考虑以下测试类:
TUser = class
Name: string;
constructor Create(AName: string);
end;
TTestClass = class
Users: TList<TUser>;
constructor Create;
end;
将数据序列化为JSON格式没有问题,但是当我尝试反序列化时,列表没有被填充:
procedure TForm21.Button1Click(Sender: TObject);
var
u: TUser;
begin
TestClass := TTestClass.Create;
TestClass.Users.Add( TUser.Create('Nick'));
TestClass.Users.Add( TUser.Create('Mike'));
Memo1.Text := TJson.ObjectToJsonString(TestClass);
TestClass2 := TJson.JsonToObject<TTestClass>( Memo1.Text );
for u in TestClass2.Users do
Memo1.Lines.Add(Format('User %s ', [ u.Name ]));
end;
JSON输出如下:
{"users":{"listHelper":[2],"items":[["Nick"],["Mike"]]}}