您的位置:首页 > 编程语言 > Delphi

Delphi通用的序列化代码

2013-02-19 17:31 323 查看
type
TFoo = class
public
function Object2Json<T>(o: T): string;
function Json2Object<T>(j: string): T;
end;

implementation

function TFoo.Json2Object<T>(j: string): T;
var
ctx: TSuperRttiContext;
begin
ctx := TSuperRttiContext.Create;
try
Result := ctx.AsType<T>(SO[j]);
finally
ctx.Free;
end;
end;

function TFoo.Object2Json<T>(o: T): string;
var
ctx: TSuperRttiContext;
obj: ISuperObject;
begin
ctx := TSuperRttiContext.Create;
try
obj := ctx.AsJson<T>(o);
Result := obj.AsString;
finally
ctx.Free;
end;
end;


使用了SuperObject,需要编译器支持泛型特性,老版本的似乎只能是望梅止渴了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: