public static object GetObjectFromJSON(string json, DataContractsEnum contract) { JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer(); if (contract == DataContractsEnum.ServiceCatalog) { ServiceCatalog serviceCatalogDataContract = javaScriptSerializer.Deserialize<ServiceCatalog>(json); return serviceCatalogDataContract; } else if (contract == DataContractsEnum.FeatureLayerAttributes) { FeatureLayerAttributes featLyrAttrDataContract = null; try { featLyrAttrDataContract = javaScriptSerializer.Deserialize<FeatureLayerAttributes>(json); } catch { } return featLyrAttrDataContract; } else if (contract == DataContractsEnum.FeatureEditsResponse) { FeatureEditsResponse addFeatDataContract = javaScriptSerializer.Deserialize<FeatureEditsResponse>(json); return addFeatDataContract; } else if (contract == DataContractsEnum.FeatureServiceNameAvailability) { FeatureServiceNameAvailability isAvailable = javaScriptSerializer.Deserialize<FeatureServiceNameAvailability>(json); return isAvailable; } else if (contract == DataContractsEnum.UserOrganizationContent) { UserOrganizationContent userContent = javaScriptSerializer.Deserialize<UserOrganizationContent>(json); return userContent; } else if (contract == DataContractsEnum.GeometryResponse) { GeometryResponse geometryResponse = javaScriptSerializer.Deserialize<GeometryResponse>(json); return geometryResponse; } else { FeatureQueryResponse featureQueryDataContract = javaScriptSerializer.Deserialize<FeatureQueryResponse>(json); return featureQueryDataContract; } }
public static object GetDataContractInfo(string url, DataContractsEnum dataContractType, out string response) { HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url); httpWebRequest.Method = "GET"; HttpWebResponse httpResponse = (HttpWebResponse)httpWebRequest.GetResponse(); string JSON = string.Empty; using (StreamReader reader = new StreamReader(httpResponse.GetResponseStream())) JSON = reader.ReadToEnd(); response = JSON; System.Web.Script.Serialization.JavaScriptSerializer javaScriptSerializer = new System.Web.Script.Serialization.JavaScriptSerializer(); if (dataContractType == DataContractsEnum.FeatureServiceInfo) { return javaScriptSerializer.Deserialize<FeatureServiceInfo>(JSON); } else if (dataContractType == DataContractsEnum.Administration) { return javaScriptSerializer.Deserialize<Administration>(JSON) as Administration; } else { throw new NotImplementedException(); } }