Einzelnen Beitrag anzeigen

Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
570 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: JSONValue zu wenig Arbeitsspeicher bei Array von 100MB

  Alt 16. Mär 2021, 10:05
Code:
jValue     := RESTResponse.JSONValue;
JSONArray  := TJSONObject.ParseJSONValue(TEncoding.UTF8.GetBytes(jValue.ToString),0) as TJSONArray;
Hm, nicht direkt die Antwort auf deine Frage, aber über folgendes bin ich auch noch gestolpert. Du hast in jValue vom RestResponse schon das ausgewertete JSON stehen, gibst das dann wieder als String aus, um es erneut zu interpretieren und dann als JSON-Array einzulesen. Das ist ein bisschen wie eine Word-Datei ausdrucken, um sie dann wieder als PDF einzuscannen. Oder hat das hier irgendeinen Hintergrund, weil sonst die Bilder nicht richtig rüberkommen?

Ggf. brauchst du dadurch auch schon doppelt so viele Ressourcen wie eigentlich nötig, insofern hätte es dann schon etwas mit deinem Problem zu tun. Eigentlich sollte ein...

Delphi-Quellcode:
jValue := RESTResponse.JSONValue;
if jValue is TJSONArray then begin
  JSONArray := TJSONArray(jValue);
  // weiteres Zeug hier..
end;
...völlig reichen und spart Rechenleistung und Speicher.
  Mit Zitat antworten Zitat