Thema: Delphi Casting von TJSONObject

Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#3

AW: Casting von TJSONObject

  Alt 17. Dez 2024, 10:16
Vielleicht hat sich die Struktur oder der Inhalt der JSON-Daten geändert. Es könnte sein, dass LVal.Clone an dieser Stelle nicht mehr immer ein TJSONObject ist.

Du könntest möglicherweise LVal.Clone.ClassName prüfen, wenn der Fehler auftritt.

Zur Abfrage könnte man den Typ vorab mit "is" testen, was aber dann zweimal Clone aufruft, und das ist auch nicht so super.

Edit: Ich sehe, Du hast schon selbst geantwortet, schicke ich aber trotzdem noch ab ...

Das hier sollte aber OK sein
Delphi-Quellcode:
LVal := LParam.GetValue('JSONData');

if Assigned(LVal) and not LVal.Null then
begin
  // Sichere Zuweisung mit Clone
  FJSONData := TJSONObject(LVal.Clone) as TJSONObject;
end
else
  FJSONData := nil;
  Mit Zitat antworten Zitat