Einzelnen Beitrag anzeigen

lxo

Registriert seit: 30. Nov 2017
288 Beiträge
 
Delphi 12 Athens
 
#2

AW: System.JSON.Serializers - TBCD

  Alt 21. Nov 2024, 10:18
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;
...
  Mit Zitat antworten Zitat