RFC Errata
RFC 8259, "The JavaScript Object Notation (JSON) Data Interchange Format", December 2017
Source of RFC: jsonbis (art)
Errata ID: 7600
Status: Reported
Type: Technical
Publication Format(s) : TEXT
Reported By: Guillaume Fortin-Debigaré
Date Reported: 2023-08-11
Section 6 says:
The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros are not allowed.
It should say:
The representation of numbers is similar to that used in most programming languages. A number is represented in base 10 using decimal digits. It contains an integer component that may be prefixed with an optional minus sign, which may be followed by a fraction part and/or an exponent part. Leading zeros in the integer component beyond the units digit are not allowed.
Notes:
The original wording about leading zeros contradicts the documented ABNF grammar for JSON numbers in the following cases:
- If the integer component is equal to 0 and the fractional component exists. (Examples: 0.1, 0.001)
- In the exponent part, after the letter E or e or the optional sign. (Example: 1E01)