Ich glaube fast wir reden aneinander vorbei.
Liegt aber wohl daran, dass ich so ein JSON-String niemals direkt erstelle sondern eben erstellen lasse. SuperObject oder das in Delphi eingebaute Gedöns kümmert sich dann darum, dass der von mir
beliebig gewählte string JSON-konform in so einem
JSON-Objekt abgelegt wird.
Nur so als Beispiel:
Delphi-Quellcode:
var
lFoo : TFoo;
lFooStr : string;
lExpected, lActual: string;
begin
lExpected := #0 + #1 + #2 + #3 + #4 + #5;
lFoo := TFoo.Create;
try
lFoo.Bar := lExpected;
lFooStr := lFoo.ToJson( ).AsJSon( );
finally
lFoo.Free;
end;
lFoo := TFoo.FromJson( lFooStr );
try
lActual := lFoo.Bar;
finally
lFoo.Free;
end;
Assert( lExpected.Equals( lActual ) );
end;
als JSON-Objekt:
Code:
{"bar":"\u0000\u0001\u0002\u0003\u0004\u0005"}
BTW: Der Delphi-Interne JSON-Serialisierer bekommt das zurückwandeln nicht auf den Schirm, da bleibt
TFoo.Bar
einfach leer
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)