C#json解析数据

1 篇文章 0 订阅

JSON解析反解析

因为json解析在C#中比较繁琐,步骤比较多,而且在之前比赛的时候我也在网上找了很多资料,感觉都不是很适合,虽然他们说的很详细,但是总感觉不是特别适合,因为比赛的时候时间非常的重要,步骤多且不说,主要是怕出错,所以才像导师请教,然后感觉这个反解析很简介,就把这个记住了,然后这篇博客也算是自己的笔记,所以就把这个分析给大家,然后有什么不足的,欢迎大家留言,毕竟自己也是刚入门的小白

需要的步骤

开始的获取http地址还是一样的,没有什么不同,而且我也会把获取http的步骤写在下面,唯一不同的就是如何来对这个http地址进行解析:

如何解析http

博客设置页面,选择一款你喜欢的代码片高亮样式,下面展示同样高亮的 代码片.

private void initJson()
{
string uri = "http://10.10.71.150:8080/wziot/wzIotApi/getSensorData/5da69912-5703-4399-b5a8-cd4b6f08e233/268540707";//这里是输入你需要解析的http网址
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(uri);//起一个访问httpweb类,然后把需要解析的uri放入这个类里面
request.Method = "get";//然后设置解析的类型,比如这里是GET类型
HttpWebResponse response = (HttpWebResponse)request.GetResponse();//接收http地址的类
StreamReader reader = new StreamReader(response.GetResponseStream(),Encoding.UTF8);//然后接收到了这个http的数据,把他转为数据流。
string buffer = reader.ReadToEnd();//定义一个变量然后把数据流存入这个变量里面
JXJson(buffer);
}


private void JXJson(string buffer)
{
   JieXiJson jx = JsonConvert.DeserializeObject<JieXiJson>(buffer);//这里就是反解析,就这样一句话,JieXiJson是我自己写的一个类,想要解析什么,就在这个类里面写出来,具体的代码我写在下面
   for (int a = 0; a < jx.res.Count; a++)
      {
        switch (jx.res[a].uuid)
       {
         case "30009"://这里的300098,是因为一下解析了两个数据,然后分别显示,如果只解析单个数据的话,不需要用到Switch。
         db.InsertSensorinfo("光照", jx.res[a].uuid, jx.res[a].value, jx.res[a].time, db.ReturnUserinfoFlag());//这里是吧我想要的数据写进数据库里面
         break;
         case "30023":
         db.InsertSensorinfo("天然气",jx.res[a].uuid,jx.res[a].value,jx.res[a].time,db.ReturnUserinfoFlag());
         break;
       }
     }
}


public class JieXiJson
{
   public List<ResJson> res { get; set; }//这个List是一个数组,就是对应解析的数据,有数组的话就加,没有的话也可以不用
   public class ResJson//可以看出来我要解析下面的这几个数据,然后自己要解析什么的话就可以改
   {
         public string uuid { get; set; }
         public string value { get; set; }
         public string str { get; set; }
         public string passGatewayNum { get; set; }
         public string time { get; set; }
   }
}
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值