Hallo zusammen,
ich nutze mittlerweile den Delphi Json Serialzter in vielen Projekten.
Jetzt bin ich das erste mal an eine
GUID geraten, und da funktioniert er scheinbar nicht.
Konvertiere ich ein
GUID nach JSon und wieder zurück ist der hintere Teil abgeschnitten.
Mache ich was falsch, oder ist das ein Bug?
Code:
var lText := TStringList.Create;
try
var lGuid := TGUID.NewGuid;
lText.Add(lGuid.ToString);
var lJson: string;
var lSerializer := TJsonSerializer.Create;
try
lJson := lSerializer.Serialize(lGuid);
finally
FreeAndNil(lSerializer);
end;
lText.Add(lJson);
var lNewGuid: TGUID;
var lDeserializer := TJsonSerializer.Create;
try
lNewGuid := lDeserializer.Deserialize<TGUID>(lJson);
finally
FreeAndNil(lSerializer);
end;
lText.Add(lNewGuid.ToString);
ShowMessage(lText.Text);
finally
FreeAndNil(lText);
end;
Ergebnis:
Code:
{1BBCB1AA-1BF2-42F7-96E2-2A84ED6699BA}
{"D1":465351082,"D2":7154,"D3":17143}
{1BBCB1AA-1BF2-42F7-0000-000000000000}
Es scheint die Variable D4 zu fehlen von TGUID (array[0..7] of byte).
Weiss jemand ob man dem Parser das manuell beibringen kann?
Grüße
Oliver