工作中用到,記錄方便以后:
思路:http請求restful接口,返回json字符串,然后將字符串解析為對象。
1,先看看瀏覽器中請求返回的結果。
2,
3,GetWebContent 方法代碼:

/// <summary> /// 用Get方式獲取HTML頁面內容 /// </summary> /// <param name="url"></param> /// <param name="encode"></param> /// <returns></returns> public static string GetWebContent(string url, string encode) { string strResult = ""; try { var request = (HttpWebRequest)WebRequest.Create(url); //聲明一個HttpWebRequest請求 request.Timeout = 30000; //設置連接超時時間 request.Headers.Set("Pragma", "no-cache"); var response = (HttpWebResponse)request.GetResponse(); Stream streamReceive = response.GetResponseStream(); Encoding encoding = Encoding.GetEncoding(string.IsNullOrEmpty(encode) ? "gb2312" : encode); if (streamReceive != null) { var streamReader = new StreamReader(streamReceive, encoding); strResult = streamReader.ReadToEnd(); } } catch (Exception ex) { } return strResult; }
4,或者這樣

public static string GetApiJsonByUrl(string url) { try { Uri u = new Uri(url); HttpWebRequest mRequest = (HttpWebRequest)WebRequest.Create(u); mRequest.Method = "GET"; mRequest.ContentType = "application/x-www-form-urlencoded"; HttpWebResponse wr = (HttpWebResponse)mRequest.GetResponse(); Stream sIn = wr.GetResponseStream(); StreamReader sr = new StreamReader(sIn); string content = sr.ReadToEnd(); sr.Close(); sIn.Close(); wr.Close(); return content; } catch { return "{\"msg\":\"ERROR\"}"; } }
5,
注意:1,返回的數據跟model的結構要一致
2,假如返回的json有10個字段,而你只需要其中5個字段,則model可以只定義5個字段。