2015-06-03 65 views
0

我想要使用Web服务将数组返回到我的GUI,但我不知道如何从WebResponse实际拉数组。如何从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; 
} 

回答

1

这个问题的答案将取决于很多的响应的格式。它是JSON吗? XML?

如果我们认为它是代表一个字符串列表的JSON响应,你可以做这样的事情:

using (var response = request.GetResponse() as HttWebResponse) 
{ 
    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 = JsonConvert.DeserializeObject<List<string>>(responseText); 

     // do something with it 
    } 
} 

(这确实需要JSON.net)