The IESG has approved the following document: - 'The JavaScript Object Notation (JSON) Data Interchange Format' (draft-ietf-jsonbis-rfc7159bis-03.txt) as Internet Standard This document is the product of the Javascript Object Notation Update Working Group. The IESG contact persons are Adam Roach, Alexey Melnikov and Ben Campbell. A URL of this Internet Draft is: https://datatracker.ietf.org/doc/draft-ietf-jsonbis-rfc7159bis/ Technical Summary This document is an update to RFC 7159 to promote the JSON format to Internet Standard. In promoting to Internet Standard, this document is a minimal update to RFC 7159 to apply accepted errata and to normatively reference ECMA-404. Working Group Summary This document had numerous reviews, drawn out over several months. While no new technical concerns were raised, the consensus on this document is rough due to the unique nature of the normative reference to ECMA-404. It is not strictly necessary to understand ECMA-404 to implement JSON; rather the reference is an agreement with Ecma TC39 to agree on a single shared definition of JSON. Document Quality JSON is widely used and there are multiple implementations. Personnel Matthew Miller is the document shepherd. Alexey Melnikov is the responsible AD. RFC Editor Note 1) OLD: (In the header) Obsoletes: 4627, 7158, 7159 (if approved) NEW: Obsoletes: 7159 (if approved) 2) Reference to ECMA-262: The reference to "ECMAScript Language Specification, Third Edition" [ECMA-262] is intentional. While newer versions exist at the time of this document's publication, this specific version of ECMA-262 illustrates the history of the JSON data format. 3) Errata References The text for the following errata references need to be updated to correctly describe the specific erratum; the authors and chairs were not able to determine how to accomplish that with the existing tooling: * [Err3915] RFC Errata, "Errata ID 3915", RFC 7159, <http://rfc-editor.org> * [Err4264] RFC Errata, "Errata ID 4264", RFC 7159, <http://rfc-editor.org> * [Err4336] RFC Errata, "Errata ID 4336", RFC 7159, <http://rfc-editor.org> 4). Please replace the whole section 8.1 to read: OLD: JSON text SHALL be encoded in UTF-8, UTF-16, or UTF-32 [UNICODE] (Section 3). The default encoding is UTF-8, and JSON texts that are encoded in UTF-8 are interoperable in the sense that they will be read successfully by the maximum number of implementations; there are many implementations that cannot successfully read texts in other encodings (such as UTF-16 and UTF-32). Implementations MUST NOT add a byte order mark (U+FEFF) to the beginning of a JSON text. In the interests of interoperability, implementations that parse JSON texts MAY ignore the presence of a byte order mark rather than treating it as an error. NEW: When transmitting over a network protocol, or as a payload of a network protocol intended to be interpreted as part of a protocol, JSON text MUST be encoded in UTF-8 (Section 3 of [UNICODE]). Previous specifications of JSON have not required the use of UTF-8 when transmitting JSON text. However, the vast majority of JSON-based software implementations have chosen to use the UTF-8 encoding, to the extent that it is the only encoding that achieves interoperability. Implementations MUST NOT add a byte order mark (U+FEFF) to the beginning of a networked-transmitted JSON text. In the interests of interoperability, implementations that parse JSON texts MAY ignore the presence of a byte order mark rather than treating it as an error. 5) Please add the following to the "Appendix A. Changes from RFC 7159": Recommendations about recommended charset for JSON was changed to UTF-8.