News for hackers. Stuff that matters.
Re:Some items from my “reliability list” by SahAssar on Thursday July 25, 2019 @04:50AM (#20523740)
Yes it is. All that part of the spec says is that it allows implementations to set/have limits on ranges and precision, which is obvious because for example javascript only has 53 bit numbers.

Other implementations can have other limits, but that does not mean that JSON itself or all implementations have the specific limits of javascript.

Re:Some items from my “reliability list” by mgraczyk on Thursday July 25, 2019 @01:50PM (#20527651)
It is not the case that JSON numbers are "arbitrary precision". JSON numbers are in fact "implementation defined" precision. The technical and practical implication is exactly what was described in the article: Since precision is implementation defined (not uniform and with no lower-bound), JSON numbers make a poor vessel for inter-service communication.
Re:Some items from my “reliability list” by megous on Thursday July 25, 2019 @05:25AM (#20523893)
Not anymore. Try writing 10000000000000000000000000000000000000000000000000000000000000000000000000000000n + 1n into your browser console.
Re:Some items from my “reliability list” by howdydoo on Thursday July 25, 2019 @04:41PM (#20529466)
Firefox:

    >JSON.stringify(1n)
    TypeError: BigInt value can't be serialized in JSON
Chrome:

    >JSON.stringify(1n)
    Uncaught TypeError: Do not know how to serialize a BigInt
    at JSON.stringify (<anonymous>)
    at <anonymous>:1:6
I don't think we're quite there yet.
Re:Some items from my “reliability list” by megous on Saturday July 27, 2019 @09:41AM (#20541976)
It was counterpoint to "that does not mean that JSON itself or all implementations have the specific limits of javascript."

Javascript can do arbitrary precision integers now. So the last part is not true. You can generate your JSON strings with string concatenation in JS if you like.

Just because JSON.stringify has some limit doesn't mean JS has.

Re:Some items from my “reliability list” by apaprocki on Sunday July 28, 2019 @10:10AM (#20547615)
See my comment elsewhere in the thread that shows how to properly use BigInts with JSON.stringify, if you choose to support them in your environment.
Re:Some items from my “reliability list” by majewsky on Thursday July 25, 2019 @05:45AM (#20523982)
Well yeah, those are bigints, but JSON does not support bigints, so the point still stands.
Re:Some items from my “reliability list” by nemetroid on Thursday July 25, 2019 @07:53AM (#20524599)
If by "JSON" you mean "JSON parsers in web browsers", then yes.
Re:Some items from my “reliability list” by raverbashing on Thursday July 25, 2019 @07:09AM (#20524352)
I'm assuming the percentage of problems where the difference between 64 bits and 53 bits precision matter are really, really small (and you should be paying attention then, because you're bound to lose precision in other parts and not only in JSON)

For everything else, it is really a non-issue.