Delphi 12 - System.JSON.FloatToJson - verschlimmbessert - Workaround?
Hallo,
mir ist aufgefallen das ich sporadisch eine Exception bekommen wenn ich Rest.JSON.pas TJson.ObjectToJsonString verwende. Ursache, in Delphi 12 wurde die System.JSON.FloatToJson Funktion angepasst. Angepasst wurde diese vermutlich aufgrund des Tickets: https://quality.embarcadero.com/browse/RSP-38387 Dabei wurde aber nicht beachtet das ein Float auch 1E-8, INF oder NAN sein kann. Durch die Änderung wird am Ende einfach .0 hinzugefügt wenn kein . gefunden wird. https://quality.embarcadero.com/browse/RSP-43463 Ist das bereits jemandem aufgefallen und hat jemand dafür evtl. ein passendes Workaround? |
AW: Delphi 12 - System.JSON.FloatToJson - verschlimmbessert - Workaround?
Wenn das einfach angehängt wird, dann ist es natürlich ein Bug.
Jetzt müssen wir nur noch hoffen, dass sie deinen Kommentar unter dem geschlossenen Ticket noch sehen. Sonst wirst'e wohl ein Neues erstellen müssen. Wobei ich aber nicht erkennen kann, dass JSON für Float Number zwingend einen
Delphi-Quellcode:
enthalten muß. (aber selbst wenn, dann gehört der Punkt vor das E)
.
Per se ist der Punkt optional, laut Definition. Im Grunde kennt Delphi's JSON auch NAN, Infinity und -Infinity, aber .... hmmmmmmmmm. PS: NINF Zitat:
Aber ich sehe hier aber nirgendwo, dass sie blind ein '.0' anhängen. Hast du ein Codebeispiel? |
AW: Delphi 12 - System.JSON.FloatToJson - verschlimmbessert - Workaround?
Ich kann jetzt nichts zum Verhalten von Delphi 12 beitragen, aber wenn ich in dem Ticket sehe wie da irgendeiner reinpoltert, er findet, Delphi müsse etwas anders machen weil sein Python-Codeschnipsel damit nicht klar kommt - Und das reicht schon aus, damit Embarcadero an der Standardbibliothek etwas verschlimmbessert (und anscheinend bis heute keine ausreichende Testabdeckung für elementare Bestandteile der Standardbibliothek hat), dann weiß ich echt auch nicht mehr...
War nicht mal ein Argument für Delphi "Nimm deinen uralten Code, und der funktioniert heute noch?" Vielleicht kompiliert er, aber wenn die in jeder Version solche Dinge kaputt machen dann ist das auch nur noch Augenwischerei. Wie kommt man eigentlich darauf? 30 Sekunden Internet-Recherche ergeben eigentlich eindeutig, dass der Dezimalpunkt da überhaupt nicht sein muss und das in Delphi bislang völlig ok gelöst war. https://ecma-international.org/publi...ards/ecma-404/ Zitat:
https://datatracker.ietf.org/doc/html/rfc8259#section-6 Mann, echt... |
AW: Delphi 12 - System.JSON.FloatToJson - verschlimmbessert - Workaround?
Als Spezial-Option zusätzlich/optional aktivierbar OK, aber so natürlich nicht.
|
AW: Delphi 12 - System.JSON.FloatToJson - verschlimmbessert - Workaround?
Zitat:
- function FloatToJson - function CurrencyToJson |
AW: Delphi 12 - System.JSON.FloatToJson - verschlimmbessert - Workaround?
Hallo,
ich hab' mal wo was abgesetzt was hoffentlich zu einer Reaktion von EMBT darauf führt ;-) Grüße TurboMagic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz