Einzelnen Beitrag anzeigen

Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.487 Beiträge
 
Delphi 7 Enterprise
 
#24

AW: JSONValue zu wenig Arbeitsspeicher bei Array von 100MB

  Alt 17. Mär 2021, 12:20
Wie bereits erwähnt, könntest Du mit TJSONTextReader beliebig große Daten sequentiell verarbeiten, ohne das gesamte JSON in mehrere riesige Objekte umwandeln zu müssen. Als Input würde der Responsestream verwendet. Hier ein Beispiel (mit Datei als Input):

Delphi-Quellcode:
var
  TextReader : TJsonTextReader;
  StreamReader : TStreamReader;
begin
  StreamReader := TStreamReader.Create(FFileName);
  try
    TextReader := TJsonTextReader.Create(StreamReader);
    try
      ConvertSequential(TextReader);
    finally
      TextReader.Free;
    end;
  finally
    StreamReader.Free;
  end;
end;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat