code: function (handler, text, context) {
          /// <summary>Parses a JSON OData payload.</summary>
          /// <param name="handler">This handler.</param>
          /// <param name="text">Payload text (this parser also handles pre-parsed objects).</param>
          /// <param name="context" type="Object">Object with parsing context.</param>
          /// <returns>An object representation of the OData payload.</returns>
  
          var recognizeDates = defined(context.recognizeDates, handler.recognizeDates);
          var inferJsonLightFeedAsObject = defined(context.inferJsonLightFeedAsObject, handler.inferJsonLightFeedAsObject);
          var model = context.metadata;
          var dataServiceVersion = context.dataServiceVersion;
          var dateParser = parseJsonDateString;
          var json = (typeof text === "string") ? window.JSON.parse(text) : text;
  
          if ((maxVersion("3.0", dataServiceVersion) === dataServiceVersion)) {
              if (isJsonLight(context.contentType)) {
                  return jsonLightReadPayload(json, model, recognizeDates, inferJsonLightFeedAsObject);
              }
              dateParser = parseDateTime;
          }
  
          json = traverse(json.d, function (key, value) {
              return jsonApplyMetadata(value, model, dateParser, recognizeDates);
          });
  
          json = jsonUpdateDataFromVersion(json, context.dataServiceVersion);
          return jsonNormalizeData(json, context.response.requestUri);
      }
docs: Some JSON implementations cannot produce the character sequence \/ which is needed to format DateTime and DateTimeOffset into the JSON string representation defined by the OData protocol. See the history of this file for a candidate implementation of a 'formatJsonDateString' function.