Skip to main content
 首页 » 编程设计

c#之如何从 WebResponse 获取返回的对象

2024年02月06日28开发

我正在尝试使用 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)