C#获取http请求的JSON数据并解析

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好看的音乐播放器(附源码)

🧡🧡🧡🧡🤍【博主推荐】html好看的拼图小游戏(附源码)

🧡🧡🧡🤍🤍【博主推荐】html好看的拼图验证码(附源码)

🧡🧡🧡🧡🧡【博主推荐】html界面绘制SVG图形(附源码)

🧡🧡🧡🧡🤍【博主推荐】html操作SVG图(附源码)

🧡🧡🧡🧡🤍【博主推荐】html下拉框树形(附好看的登录界面)

🧡🧡🧡🧡🤍【博主推荐】HTML5响应式手机WEB(附源码)

🧡🧡🧡🧡🤍【博主推荐】大数据可视化大屏(源码下载)

🧡🧡🧡🧡🧡【博主推荐】html引用百度地图定位闪烁弹框树形(附源码)

🧡🧡🧡🧡🤍【博主推荐】HTML酷炫动画表白求爱界面(附源码)


     💞 关注博主 带你实现畅游前后端

     🏰 加入社区 带你体验马航不孤单

     💯 神秘个人简介 带你体验不一样得介绍

     🎀 酷炫邀请函 带你体验高大上得邀请

     亲,码字不易,动动小手,欢迎 点赞 ➕ 收藏,如 🈶 问题请留言(评论),博主看见后一定及时给您答复,💌💌💌

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xcLeigh

万水千山总是情,打赏两块行不行

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值