首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fcl-json jsonConf:保存json格式?

fcl-json jsonConf:保存json格式?
EN

Stack Overflow用户
提问于 2015-08-02 23:21:48
回答 1查看 381关注 0票数 1

我通过jsonConf (TJsonConfig)保存文件,json文件有一个很长很长的行。(其中包含多个关键点)。如何格式化保存?就像在网络上一样。

Lazarus 1.4.2。

EN

回答 1

Stack Overflow用户

发布于 2015-08-03 00:34:13

您必须使用正确的参数调用受保护成员FJSON的FormatJSON。要访问FJSON,您有几个选择(类助手、转换为虚拟子类或创建一个真正的子类)。

因为TJsonConfig析构函数调用flush(),所以文件很有可能在最后被默认格式覆盖。因此,最好的选择是子类TJsonConfig并覆盖析构函数,而不调用继承的:

代码语言:javascript
复制
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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31773352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档