色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

delphi to json

錢淋西2年前9瀏覽0評論

Delphi是一種強大的編程語言,在開發Web應用程序時,將數據格式轉換為JSON(JavaScript Object Notation)格式是很常見的操作。JSON格式是一種輕量級的數據交換格式,易于閱讀和解析,因此很受歡迎。Delphi的JsonTools單元提供了一種簡便的方法可以在Delphi中將數據格式轉換為JSON格式。

下面是一個示例代碼,將一個類轉換為JSON字符串:

uses System.JSON, System.Rtti, System.TypInfo;
function ObjectToJSONString(AObject: TObject): string;
var
Ctx: TRttiContext;
ObjType: TRttiType;
Prop: TRttiProperty;
PropValue: TValue;
Json: TJSONObject;
begin
Json:=TJSONObject.Create;
try
ObjType:=Ctx.GetType(AObject.ClassInfo);
for Prop in ObjType.GetProperties do
begin
PropValue:=Prop.GetValue(AObject);
case PropValue.Kind of
tkInteger, tkInt64:
Json.AddPair(Prop.Name, TJSONNumber.Create(PropValue.AsInt64));
tkFloat:
Json.AddPair(Prop.Name, TJSONNumber.Create(PropValue.AsExtended));
tkString, tkWString, tkUString:
Json.AddPair(Prop.Name, TJSONString.Create(PropValue.AsString));
end;
end;
Result:=Json.ToString;
finally
Json.Free;
end;
end;

這個函數接受一個對象作為參數,使用反射(RttiContext和RttiType)訪問對象的屬性,并將其轉換為JSON值。它使用TJSONObject類創建一個JSON對象,然后通過TJSONPair對象添加名稱-值對。函數完成后,它調用ToString方法將JSON對象轉換為字符串返回。

下面是使用示例代碼的示例:

type
TMyClass = class
private
FName: string;
FAge: Integer;
FPrice: Double;
public
property Name: string read FName write FName;
property Age: Integer read FAge write FAge;
property Price: Double read FPrice write FPrice;
end;
var
Obj: TMyClass;
JsonStr: string;
begin
Obj:=TMyClass.Create;
Obj.Name:='Tom';
Obj.Age:=20;
Obj.Price:=100.0;
JsonStr:=ObjectToJSONString(Obj);
ShowMessage(JsonStr);
Obj.Free;
end;

這將產生以下輸出:

{"Name":"Tom","Age":20,"Price":100.0}

可以看到,將TMyClass對象轉換為JSON字符串非常簡單。