You could check https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.getresponse(v=vs.110).aspx for a detailed explanation on how to get the httpBody of your response. After you get your response with .getResponse() you can get the response Stream and read the content from it in a variable.
as stated in the link article:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create (args[0]);
HttpWebResponse response = (HttpWebResponse)request.GetResponse ();
Console.WriteLine ("Content length is {0}", response.ContentLength);
Console.WriteLine ("Content type is {0}", response.ContentType);
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream ();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
Console.WriteLine ("Response stream received.");
Console.WriteLine (readStream.ReadToEnd ());
response.Close ();
readStream.Close ();
The output will be:
/*
The output from this example will vary depending on the value passed into Main
but will be similar to the following:
Content length is 1542
Content type is text/html; charset=utf-8
Response stream received.
<html>
...
</html>
*/
With :
var res = readStream.ReadToEnd();
You will get the json body in a string representation. After this you can parse it using a json parser like Newtonsoft.JSON.
I hope this answers your question at least 70%. I think there are ways to write an API that parses the JSON body automatically (at least with the new net core (mvc vnext)). I have to remember the method exactly..