我正在尝试使用 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;
}
请您参考如下方法:
这个问题的答案在很大程度上取决于响应的格式。是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)
