in JSLib/src/odata-json-light.js [1134:1172]
var jsonLightReadPayload = function (data, model, recognizeDates, inferFeedAsComplexType, contentTypeOdata) {
/// <summary>Converts a JSON light response payload object into its library's internal representation.</summary>
/// <param name="data" type="Object">Json light response payload object.</param>
/// <param name="model" type="Object">Object describing an OData conceptual schema.</param>
/// <param name="recognizeDates" type="Boolean" optional="true">Flag indicating whether datetime literal strings should be converted to JavaScript Date objects.</param>
/// <param name="inferFeedAsComplexType" type="Boolean">True if a JSON light payload that looks like a feed should be reported as a complex type property instead.</param>
/// <param name="contentTypeOdata" type="string">Includes the type of json ( minimalmetadata, fullmetadata .. etc )</param>
/// <returns type="Object">Object in the library's representation.</returns>
if (!isComplex(data)) {
return data;
}
contentTypeOdata = contentTypeOdata || "minimalmetadata";
var baseURI = data[metadataAnnotation];
var payloadInfo = jsonLightPayloadInfo(data, model, inferFeedAsComplexType);
if (assigned(payloadInfo)) {
payloadInfo.contentTypeOdata = contentTypeOdata;
}
var typeName = null;
if (payloadInfo) {
delete data[metadataAnnotation];
typeName = payloadInfo.type;
switch (payloadInfo.kind) {
case PAYLOADTYPE_FEED:
return jsonLightReadFeed(data, payloadInfo, baseURI, model, recognizeDates);
case PAYLOADTYPE_COLLECTION:
return jsonLightReadTopCollectionProperty(data, typeName, baseURI, model, recognizeDates);
case PAYLOADTYPE_PRIMITIVE:
return jsonLightReadTopPrimitiveProperty(data, typeName, baseURI, recognizeDates);
case PAYLOADTYPE_SVCDOC:
return jsonLightReadSvcDocument(data, baseURI);
case PAYLOADTYPE_LINKS:
return jsonLightReadLinksDocument(data, baseURI);
}
}
return jsonLightReadObject(data, payloadInfo, baseURI, model, recognizeDates);
};