簡體   English   中英

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

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM