|
|
|
|
|
by SAI_Peregrinus
1405 days ago
|
|
The JSON "Number" standard is arbitrary precision decimal[1], though it does mention that implementations MAY limit the parsed value to fit within the allowable range of an IEEE 754 double-precision binary floating point value. JSON "Number"s can't encode all JS numbers, since they can't encode NANs and infinities. [1] https://www.ecma-international.org/wp-content/uploads/ECMA-4... section 8. |
|
It's also interesting that the proposed JSON 5 (standalone) specification [2] doesn't seem to address it at all (but does add back in the other IEEE 754 numbers that ECMA 404 and RFC 8259 exclude from JSON; +/-Infinity and +/-NaN). It both maintains that its numbers are "arbitrary precision" but also requires these few IEEE 754 features, which may be even more confusing than either ECMA 404 or RFC 8259.
[1] https://datatracker.ietf.org/doc/html/rfc8259#section-6
[2] https://spec.json5.org/#numbers