Search code examples
c#restapiwebrequestwebresponse

How to parse JSON data in System.Net.Webrequest reponse


I am trying to call an API which returns the data in JSON format which i need to parse. How to do that in System.Net.Webrequest.. Below is my code

ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);

            request = WebRequest.Create("https://IPAaddress/api/admin/configuration/v1/conference/1/");

            request.Credentials = new NetworkCredential("username", "password");
            // Create POST data and convert it to a byte array.
            request.Method = "GET";          

                    // Set the ContentType property of the WebRequest.
            request.ContentType = "application/json; charset=utf-8";          


            WebResponse response = request.GetResponse();
            // Display the status.
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();

            // Display the content.
            Console.WriteLine(responseFromServer);
            // Clean up the streams.
            reader.Close();
            dataStream.Close();
            response.Close();

Solution

  • Thanks everyone my problem got solved, following is the code..

    ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(AcceptAllCertifications);
    
            request = WebRequest.Create("https://ipaddress/api/admin/configuration/v1/conference/1/");
    
            request.Credentials = new NetworkCredential("admin", "admin123");
            // Create POST data and convert it to a byte array.
            request.Method = "GET";          
    
                    // Set the ContentType property of the WebRequest.
            request.ContentType = "application/json; charset=utf-8";          
    
    
            WebResponse response = request.GetResponse();
            // Display the status.
            Console.WriteLine(((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();
            JavaScriptSerializer js = new JavaScriptSerializer();
            var obj = js.Deserialize<dynamic>(responseFromServer);
            Label1.Text = obj["name"];
            // Display the content.
            Console.WriteLine(responseFromServer);
            // Clean up the streams.
            reader.Close();
            dataStream.Close();
            response.Close();