[英]fcl-json jsonConf: save json formatted?
我通过jsonConf(TJsonConfig)保存文件,并且json文件长1行。 (其中有许多键)。 如何保存它的格式? 很喜欢在网上。
拉撒路1.4.2。
你必须调用FormatJSON
用正确的参数的受保护的成员FJSON的。 要访问FJSON,您有多种选择(类帮助器,转换为虚拟子类或创建真实的子类)。
因为TJsonConfig析构函数调用flush()
,所以很有可能在文件末尾使用默认格式覆盖该文件。 因此,最好的选择是子类TJsonConfig并覆盖析构函数而不调用继承:
destructor TMyJSONConfig.Destroy;
var
data: string;
str: TMemoryStream;
begin
if Assigned(FJSON) then
begin
data := FJSON.FormatJSON(); // here you can change default parameters
with TMemoryStream.Create do try
Write(data[1], Length(data));
SaveToFile(FFilename);
finally
free;
end;
FreeAndNil(FJSON);
end;
// skip flush() in inherited, avoid to save again the file.
TComponent(Self).Destroy;
end;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.