On Fri, 18 Sep 2020 at 09:18, Richard Hodges via Boost
JSON is in the main used as a language and platform agnostic data interchange format. The *de-facto* reality is that every other platform and language implementation that I can think of limits real numbers to doubles and integers to the range +-2^63, so it seems to me that going beyond that will achieve little in terms of general utility.
This is the situation today.
That is just not true. There are many implementations of JSON under the sun, some quite low-key and homemade (it's pretty trivial after all), and quite a lot do it correctly. Also many people doing it wrong is not an argument.
I understand the argument that this library could be an opportunity to push the boundaries and lead other languages to better practice.
On the other hand, this is not the stated intent of the library - it's intent (in summary) is to meet the needs of the majority of C++ programmers who wish to interoperate with the world wide web today.
Along with others here I am sure, I have significant experience in dealing with financial and cryptocurrency data interchange using JSON. The *reality* is that one learns *not to rely on the various interpretations of number values at all*. If you're sending an important value (such as a price) you very quickly learn to encode it as a JSON string representing the exact value and precision you want.
Well I've been working in high-frequency trading for years, and I have the opposite experience. Representation of numbers is serious business, be them fixed- or float-precision, binary or decimal. If you can't even get that right and have to use strings, you're in for a lot of problems.