模擬http請求返回json數據的接口並解析


工作中用到,記錄方便以后:

思路: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;
        }
View Code

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\"}"; }
        }
View Code

5,

 

 

注意:1,返回的數據跟model的結構要一致

        2,假如返回的json有10個字段,而你只需要其中5個字段,則model可以只定義5個字段。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM