Einzelnen Beitrag anzeigen

Rollo62

Registriert seit: 15. Mär 2007
4.094 Beiträge
 
Delphi 12 Athens
 
#3

AW: JSONMarshal/Unmarshal; TJSONObject.ParseJSONValue Parser Fehler bei NaN / MAXVALU

  Alt 17. Mär 2017, 22:03
Das scheint in der Parse Routine zu haken:

Delphi-Quellcode:
class function TTestMarshal_Parcel.Unmarshal_FromString(value: String): TTestMarshal_Parcel;
var
  LJson: TJSONObject;
begin
    LJson := TJSONObject.Create;

    try
        LJson := TJSONObject.ParseJSONValue( value ) as TJSONObject; // HIER komt nil

        Result := InternalUnmarshal_FromObject( LJson )

    finally
        LJson.Free;
    end;
end;
Wenn im Value NaN, oder sogar nur Single.MAXVALUE (natürlich als Zahl) steht kommt nil raus.
Andere Zahlen funktionieren.
Mit der Test-Anwendung kann man die Unterschiede sehen Test1 ist OK, die andenen stimmen nicht exakt überein.

Haben denn die JSON-Funktionen ganz andere Zahlenräume als die normalen Delphi Variablen ?
Ich bin davon ausgegaben das Objekte mit dem Serializer und Unserializer 1:1 hergestellt werden können, oder gibt es da ansonsten einen Fehler ?

Rollo
  Mit Zitat antworten Zitat