RFC Errata


Errata Search

 
Source of RFC  
Summary Table Full Records

RFC 8259, "The JavaScript Object Notation (JSON) Data Interchange Format", December 2017

Source of RFC: jsonbis (art)

Errata ID: 7617
Status: Reported
Type: Technical
Publication Format(s) : TEXT

Reported By: Guillaume Fortin-Debigaré
Date Reported: 2023-08-25

Section 6 says:

   Note that when such software is used, numbers that are integers and
   are in the range [-(2**53)+1, (2**53)-1] are interoperable in the
   sense that implementations will agree exactly on their numeric
   values.

It should say:

   Note that when such software parses numbers as rational numbers in
   decimal or scientific notation, they are interoperable in the sense
   that implementations will agree exactly on their numeric values. In
   particular, when such software is used, numbers that are integers and
   are in the range [-(2**53)+1, (2**53)-1] are interoperable in that
   sense.

Notes:

IEEE 754 does not consider negative zero and positive zero to be the same numeric value, even though it considers them equal. Despite this, JavaScript serializes negative zero as the JSON text "0", which contradicts the original text.

My suggested correction mentions "rational numbers in decimal or scientific notation" since it's never explicitly mentioned in the document how a number should be interpreted when parsed to maximize interoperability. This version addresses that concern at the same time.

Report New Errata



Advanced Search