//请求路径
string url = "http://localhost:27221/api/Charging/SaveData";
//定义request并设置request的路径
WebRequest request = WebRequest.Create(url);
request.Method = "post";
//初始化request参数
string postData = "{ ID: \"1\", NAME: \"Jim\", CREATETIME: \"1988-09-11\" }";
//设置参数的编码格式,解决中文乱码
byte[] byteArray = Encoding.UTF8.GetBytes(postData);
//设置request的MIME类型及内容长度
request.ContentType = "application/json";
request.ContentLength = byteArray.Length;
//打开request字符流
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
//定义response为前面的request响应
WebResponse response = request.GetResponse();
//获取相应的状态代码
Console.WriteLine(((HttpWebResponse)response).StatusDescription);
//定义response字符流
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();//读取所有
Console.WriteLine(responseFromServer);
返回的结果可以通过引用类库NewtonSoft.Json进行序列化和反序列化(在Manage NuGet Packages可以进行安装)
序列化:
Student one = new Student() { ID = 1, Name = “武松”, Age = 250, Sex = “男” };
string jsonData = JsonConvert.SerializeObject(one);
反序列化:
string str = “{“ID”:2,“Name”:“鲁智深”,“Age”:230,“Sex”:“男”}”;
Student two = JsonConvert.DeserializeObject(str);