Hab jetzt eine Lösung.
Das müsste ich aber immer beim serialisieren explizit mitgeben.
Kann ich diesen Converter auch irgendwie allgemein registrieren für den TJsonSerializer?
Delphi-Quellcode:
TBCDConverter = class(TJsonConverter)
public
procedure WriteJson(const AWriter: TJsonWriter; const AValue: TValue; const ASerializer: TJsonSerializer); override;
function ReadJson(const AReader: TJsonReader; ATypeInf: PTypeInfo; const AExistingValue: TValue;
const ASerializer: TJsonSerializer): TValue; override;
function CanConvert(ATypeInf: PTypeInfo): Boolean; override;
end;
...
var lJsonSerializer := TJsonSerializer.Create;
try
var lBCDConverter := TBCDConverter.Create;
try
lJsonSerializer.Converters.Add( lBCDConverter);
lJsonString := lJsonSerializer.Serialize< TMyClass>( MyObject);
finally
lBCDConverter.Free;
end;
finally
lJsonSerializer.Free;
end;
...