Ankit Ankit - 2 months ago 13
reST (reStructuredText) Question

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();

Answer

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();
Comments