C#笔记(3)获取json数据并解析

来源:互联网 发布:asp开源cms 编辑:程序博客网 时间:2024/05/19 13:10

1.创一个HttpUitls类,接受网络数据

public class HttpUitls    {        public static string Get(string Url)        {            //System.GC.Collect();            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);            request.Proxy = null;            request.KeepAlive = false;            request.Method = "GET";            request.ContentType = "application/json; charset=UTF-8";            request.AutomaticDecompression = DecompressionMethods.GZip;            HttpWebResponse response = (HttpWebResponse)request.GetResponse();            Stream myResponseStream = response.GetResponseStream();            StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.UTF8);            string retString = myStreamReader.ReadToEnd();            myStreamReader.Close();            myResponseStream.Close();            if (response != null)            {                response.Close();            }            if (request != null)            {                request.Abort();            }            return retString;        }        public static string Post(string Url)        {            string Data = "";            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);            request.Method = "POST";            request.Referer = "";            byte[] bytes = Encoding.UTF8.GetBytes(Data);            request.ContentType = "application/x-www-form-urlencoded";            request.ContentLength = bytes.Length;            try            {                Stream myResponseStream = request.GetRequestStream();                myResponseStream.Write(bytes, 0, bytes.Length);                HttpWebResponse response = (HttpWebResponse)request.GetResponse();                StreamReader myStreamReader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);                string retString = myStreamReader.ReadToEnd();                myStreamReader.Close();                myResponseStream.Close();                if (response != null)                {                    response.Close();                }                if (request != null)                {                    request.Abort();                }                return retString;            }            catch            {                MessageBox.Show("无法连接到远程服务器");                return "";            }        }        internal static string Post(object p, string v)        {            throw new NotImplementedException();        }    }

2.创一个Bean类,放解析后的数据。

class LoginBean{    public String retCode { get; set; }//返回结果:成功0001,失败0000    public String errCode { get; set; }//错误编码,见 附录(未定),返回结果为0000时不可空    public String errMsg { get; set; }//错误描述信息,返回结果为0000时不可空    public Data_LoginBean data { get; set; }    public class Data_LoginBean    {        public int organzier_id { get; set; }        public int flag { get; set; }    }}

3.获得获取数据的网址

string web = Url.URL + Url.login + "userName=" + textBox_username.Text + "&password=" + Md5.getMd5(textBox_password.Text) + "&flag=" + identity;//拼一个网址

4.获取json数据

string json = HttpUitls.Post(web);

5.解析json数据

if (json != ""){    LoginBean loginBean = (LoginBean)JsonConvert.DeserializeObject(json, typeof(LoginBean));    //    //具体用数据    //}
阅读全文
0 0
原创粉丝点击