C#获取http请求的JSON数据并解析
,第一步,先拿到http的数据,第二步,把JSON转为list(或者使用JArray对象解析),然后就可以正常使用数据了。
1️⃣ C#获取http请求的JSON数据并解析
1.1 获取http的JSON数据
封装好的方法直接调用
public static string GetJson(string url)
{
//访问https需加上这句话
// ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult);
//访问http(不需要加上面那句话)
WebClient wc = new WebClient();
wc.Credentials = CredentialCache.DefaultCredentials;
wc.Encoding = Encoding.UTF8;
string returnText = wc.DownloadString(url);
if (returnText.Contains("errcode"))
{
//可能发生错误
}
//Response.Write(returnText);
return returnText;
}
实际应用
string url = "http://你的api地址";
string contenet = HttpDataUtils.GetJson(url);//获取json串
1.2 解析JSON数据
引用
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
json格式
{"state":200,"data":[{"id":1,"name":"xcSharp"}],"size":1,"msg":"查询成功"}
data实体
public class TestModel
{
public string id{ get; set; }
public string name{ get; set; }
}
数据解析 方式1
JObject jo = (JObject)JsonConvert.DeserializeObject(contenet);
string zone = jo["data"].ToString();
JArray jo1 = (JArray)JsonConvert.DeserializeObject(zone);
int num = jo1.Count;
string getMsg=jo["msg"].ToString();//获取msg
for(int i=0;i<num;i++){
string getName=jo1[i]["name"];//获取name
}
数据解析 方式2
string url = "http://你的api地址";
string contenet = HttpDataUtils.GetJson(url);
JObject jo = (JObject)JsonConvert.DeserializeObject(contenet);
JavaScriptSerializer Serializer = new JavaScriptSerializer();
List<TestModel> list = Serializer.Deserialize<List<TestModel>>(jo["data"].ToString()); //把data里面的数据转成List实体,然后正常获取
string getName=list[0].name;//获取name
优质资源分享
🧡🧡🧡🧡🤍【博主推荐】JAVA SSM框架的后台管理系统(附源码)
🧡🧡🧡🧡🤍【博主推荐】SpringBoot API接口对数据库增删改查,路由,TOKEN,WebSocket完整版(附源码)
🧡🧡🧡🧡🤍【博主推荐】HTML制作一个美观的个人简介网页(附源码)
🧡🧡🧡🧡🤍【博主推荐】html好看的个人简历网页版(附源码)
🧡🧡🧡🧡🤍【博主推荐】html下拉框树形(附好看的登录界面)
🧡🧡🧡🧡🧡【博主推荐】html引用百度地图定位闪烁弹框树形(附源码)
🧡🧡🧡🧡🤍【博主推荐】HTML酷炫动画表白求爱界面(附源码)
💞 关注博主 带你实现畅游前后端
🏰 加入社区 带你体验马航不孤单
💯 神秘个人简介 带你体验不一样得介绍
🎀 酷炫邀请函 带你体验高大上得邀请
亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌