Einzelnen Beitrag anzeigen

TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.060 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Interface mit TJsonSerializer

  Alt 21. Aug 2017, 08:16
Funktioniert es nicht wenn man die Properties in der konkreten Klasse auch deklariert?
Nein, da der Serializer nicht Properties serialisiert, sondern Felder der Klassen.
Alle zu serialisierenden Klassen müssen daher zwangsläufig mit F beginnen (Delphi-Standard).
Im Quelltext beginnen die Felder mit dem Srandard-"F":

Delphi-Quellcode:
[JsonName('SecondProp')] [JsonIn]
FSecondProp: string;

[JsonName('SecondObj')] [JsonIn]
FSecondObj: IFooOne;
Mein Vermutung ist daher, dass zusätzlich noch die property Deklarationen wiederholt werden müssen...
Nein nein, es ist genau so, wie ich schrieb. Properties sind dem Serializer total egal.

Sowas hier zum Beispiel wird serialisiert.

Delphi-Quellcode:
TMyClass = class
private
  FMyString: string;
  FMyInteger: Integer;
end;
Das man zusätzlich per Attribut den Namen im JSON verändern kann, ist ein anderes Thema.
  Mit Zitat antworten Zitat