Bug 16432 – JSON incorrectly parses to string

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
phobos
Product
D
Version
D2
Platform
x86
OS
Mac OS X
Creation time
2016-08-26T09:54:45Z
Last change time
2021-03-22T13:13:31Z
Keywords
pull, trivial
Assigned to
No Owner
Creator
Alex

Comments

Comment #0 by sascha.orlov — 2016-08-26T09:54:45Z
Trying to copy a JSONValue via .toString.parseJSON, see https://forum.dlang.org/thread/[email protected] found an error during conversion to string: If a value is a floating type, which ends with a .0 during conversion to string, the part after the point is cut away and the value is interpreted as an integer afterwards. void main() { import std.json; import std.stdio; string s = "{\"rating\": 3.0 }"; JSONValue j = parseJSON(s); assert(j["rating"].type == JSON_TYPE.FLOAT); writeln(j.toString); j = j.toString.parseJSON; assert(j["rating"].type != JSON_TYPE.FLOAT); assert(j["rating"].type == JSON_TYPE.INTEGER); } If the value is like "3.1" the bug doesn't appear.
Comment #1 by greeenify — 2016-12-30T07:49:48Z
Comment #2 by b2.temp — 2016-12-30T08:48:03Z
*** Issue 13660 has been marked as a duplicate of this issue. ***
Comment #3 by dlang-bot — 2021-03-18T20:20:26Z
@berni44 created dlang/phobos pull request #7885 "Fix Issue 16432 - JSON incorrectly parses to string" fixing this issue: - Fix Issue 16432 - JSON incorrectly parses to string https://github.com/dlang/phobos/pull/7885
Comment #4 by dlang-bot — 2021-03-22T13:13:31Z
dlang/phobos pull request #7885 "Fix Issue 16432 - JSON incorrectly parses to string" was merged into master: - a99ea1850c3b934f498ac774f550b5e1057e2cae by berni44: Fix Issue 16432 - JSON incorrectly parses to string https://github.com/dlang/phobos/pull/7885