如何获得使用system.net.webrequest在C#中的JSON响应?

我需要从外部域获取json数据。 我使用webrequest从网站获得响应。 代码如下:

var request = WebRequest.Create(url); string text; var response = (HttpWebResponse) request.GetResponse(); using (var sr = new StreamReader(response.GetResponseStream())) { text = sr.ReadToEnd(); } 

任何人都知道为什么我不能得到JSON数据?

您需要明确要求内容types。

添加这一行:

  request.ContentType = "application/json; charset=utf-8"; 

在适当的地方

有些API希望您在请求中提供适当的“Accept”头以获得所需的响应types。

例如,如果一个API可以以XML和JSON格式返回数据,并且您想要JSON结果,则需要将HttpWebRequest.Accept属性设置为“application / json”

 HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(requestUri); httpWebRequest.Method = WebRequestMethods.Http.Get; httpWebRequest.Accept = "application/json";