【发布时间】:2015-07-03 09:16:23
【问题描述】:
我一直在尝试使用 TJson.ObjectToJsonString(object) 将我的对象转换为 json 字符串。它适用于简单对象,但如果对象包含数组(静态或动态),它将中断。创建对象的json字符串的正确方法是什么?我看过 TSuperObject 但不清楚我需要做什么。
类结构
TPerson = class(TObject)
private
FID : integer;
FLastName : string;
FFirstName: string;
FEmail : string;
fMyArray : array[0..2] of boolean;
function ReadArray(i : integer):boolean;
procedure WriteArray(i : integer; val:boolean);
public
property ID : integer read FID write FID;
property LastName : string read FLastName write FLastName;
property FirstName: string read FFirstName write FFirstName;
property Email : string read FEmail write FEmail;
property MyArray[i : integer] :boolean read ReadArray write WriteArray;
end;
例子
person := TPerson.create();
person.ID := 25;
person.FirstName := 'Homer';
person.LastName := 'Bologna';
person.Email := 'Homer@Bologna.com';
person.myArray[0] := true;
person.myArray[1] := false;
person.myArray[2] := true;
str := TJson.ObjectToJsonString(person);//Access Violation
【问题讨论】:
标签: delphi delphi-xe6