【问题标题】:How to get returned object from WebResponse如何从 WebResponse 获取返回的对象
【发布时间】:2015-06-03 15:36:32
【问题描述】:
我正在尝试使用 Web 服务将数组返回到我的 GUI,但我不知道如何实际从 WebResponse 中提取数组。
这是 GUI 中调用 Web 服务的方法:
public static ArrayList getList()
{
String[] list;
WebRequest request = WebRequest.Create("localhost:8080/test");
WebResponse response = request.GetResponse();
list = ??? //<--What do I put here to actually access the returned array?
return response;
}
【问题讨论】:
标签:
c#
asp.net
web-services
rest
【解决方案1】:
这个问题的答案很大程度上取决于响应的格式。是 JSON 吗? XML?
如果我们假设它是一个表示字符串列表的 JSON 响应,您可以这样做:
using (var response = request.GetResponse() as HttpWebResponse)
{
Stream responseStream = response.GetResponseStream();
using (var reader = new StreamReader(responseStream))
{
// get the response as text
string responseText = reader.ReadToEnd();
// convert from text
List<string> results = Newtonsoft.Json.JsonConvert.DeserializeObject<List<string>>(responseText);
// do something with it
}
}
(这确实需要 JSON.net)