C#后端访问外部接口获取返回的json数据
在项目开发中经常会遇到需要调用第三方或者客户的外部接口获取相关数据。那么如何在C#后端访问接口并获取返回的数据呢?我们可以使用HttpWebRequest实现对外部接口的访问。先写一个不带参数调用接口获取接口返回的json数据。
先看案例
//要访问的接口地址
string Url = "http://localhost:8086/FESCOAPP/Service/Handler.ashx";
//存储接口返回的数据
string result = "";
//Web请求
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(Url);
req.Method = "POST";//请求方式
req.ContentLength = 0;//一定要添加这句
//获取接口返回值
HttpWebResponse resp = (HttpWebResponse)req.GetResponse();
//以流的方式读取返回的数据
Stream stream = resp.GetResponseStream();
//获取内容
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
result = reader.ReadToEnd();//如果接口返回的是json字符串,那么这里就是对应的json字符串
}
//字符串转json
//JObject jo = (JObject)JsonConvert.DeserializeObject(result);//或者JObject jo = JObject.Parse(jsonText);
//通用处理数据-json字符串转为对象
JavaScriptSerializer Serializer = new JavaScriptSerializer();
//json字符串转为对象, 反序列化
userEntity = Serializer.Deserialize<DK_UserInfo_Entity>(result);