2.4.14 The JSON Object

JScript 5.8 provides support for processing objects represented using the JSON Data Interchange Format. The JSON support in JScript 5.8 is an implementation of the JSON APIs defined in the ECMAScript 5th Edition Language Specification [ECMA-262/5]. The text in the sections that follow is a copy of the JSON specification text from clause 15.12 of [ECMA-262/5]. Additions or deletions to this text reflect variances between the JScript 5.8 JSON support and the original [ECMA-262/5] specification, and the differences between specification techniques used by the two base specifications.

The JSON object and its properties are not defined for JScript 5.7. They exist only in JScript 5.8.

The JSON object is a single object that contains two functions, parse and stringify, that are used to parse and construct JSON texts. The JSON Data Interchange Format is described in[RFC4627]. The JSON interchange format used in this specification is exactly that described by [RFC4627] with two exceptions:

1. The top level JSONText production of the ECMAScript JSON grammar may consist of any JSONValue, rather than being restricted to either a JSONObject or a JSONArray as specified by [RFC4627].

2. Conforming implementations of JSON.parse and JSON.stringify must support the exact interchange format described in this specification without any deletions or extensions to the format. This differs from [RFC4627], which permits a JSON parser to accept non-JSON forms and extensions.

The value of the [[Prototype]] internal property of the JSON object is the standard built-in Object prototype object ([ECMA-262-1999] Section 15.2.4). The value of the [[Class]] internal property of the JSON object is "JSON". The value of the [[Extensible]] internal property of the JSON object is set to true.

The JSON object does not have a [[Construct]] internal property; it is not possible to use the JSON object as a constructor with the new operator.

The JSON object does not have a [[Call]] internal property; it is not possible to invoke the JSON object as a function.