RFC Errata

Errata Search

Source of RFC  
Summary Table Full Records

RFC 7159, "The JavaScript Object Notation (JSON) Data Interchange Format", March 2014

Note: This RFC has been obsoleted by RFC 8259

Source of RFC: json (app)

Errata ID: 3984
Status: Rejected
Type: Technical
Publication Format(s) : TEXT

Reported By: Alain BENEDETTI
Date Reported: 2014-05-09
Rejected by: Pete Resnick
Date Rejected: 2014-05-16

Section 7 says:

unescaped = %x20-21 / %x23-5B / %x5D-10FFFF

It should say:

unescaped = %x20-21 / %x23-5B / %x5D-D7FF / %xE000-10FFFF


Section 1 says:
A string is a sequence of zero or more Unicode characters [UNICODE]. Note that this citation references the latest version of Unicode rather than a specific release.

Section 8.2 emphasizes on the characters not allowed by the Unicode norm:
However, the ABNF in this specification allows member names and string values to contain bit sequences that cannot encode Unicode characters; for example, "\uDEAD" (a single unpaired UTF-16 surrogate).

The ABNF cannot at the same time allow non conformant Unicode codepoints (section 7) and states conformance to Unicode (section 1).

Therefore, there is an incoherence that must be fixed between section 1 (and 8.2 that emphasizes it) and section 7. Hence the proposition of modification in section 7.

The other less preferable solution to this fix incoherence in RFC7159 would have been to NOT require Unicode conformance.
The WG's consensus was to leave the full range present in the ABNF and add the interoperability guidance about values outside the Unicode accepted range.

Report New Errata

Advanced Search