我通过jsonConf (TJsonConfig)保存文件,json文件有一个很长很长的行。(其中包含多个关键点)。如何格式化保存?就像在网络上一样。
Lazarus 1.4.2。
发布于 2015-08-03 00:34:13
您必须使用正确的参数调用受保护成员FJSON的FormatJSON。要访问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;https://stackoverflow.com/questions/31773352
复制相似问题