C# 调用接口处理返回json数据

项目中处理json需要使用Newtonsoft,访问接口使用RestSharp,先将这两个库添加项目引用,在文件头部进行引用

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
 

方式一:按数组解析            

            InfoModel info = new InfoModel();

            string hostV = ins.Host;
            string urlV = ins.Url;
            string stationNameV = ins.StationName;

            var client = new RestClient(hostV);

            string url = hostV + urlV +  stationNameV;
            var request = new RestRequest( url , Method.POST);
            request.AddHeader("Content-Type", "application/json");

            var response = client.Execute(request);

                JObject jo = (JObject)JsonConvert.DeserializeObject(response.Content);
                string success = jo["success"].ToString();
                string msg = jo["msg"].ToString();
                string name = jo["name"].ToString();
                string tempreture = jo["tempreture"].ToString();
                string humidity = jo["humidity"].ToString();
                string inputTime = jo["inputTime"].ToString();

                info.Success = success;
                info.Msg = msg;

                if (info.Success == "true")
                {
                    info.Tempreture = tempreture;
                    // MessageBox.Show(tempreture);
                }
 

方式二:映射转换类

定义类模型InfoModel

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace monitorFlowworkAndSubmit.Model
{
    public class InfoModel
    {
        private string _success;
        private string _msg;
        private string _id;
        private string _stationName ;
        private string _tempreture ;            
        private string _humidity ;
        private string _inputTime;

        public string Success
        {
            get { return _success; }
            set { _success = value; }
        }

        public string Msg
        {
            get { return _msg; }
            set { _msg = value; }
        }

        public string Id
        {
            get { return _id; }
            set { _id = value; }
        }

        public string StationName
        {
            get { return _stationName; }
            set { _stationName = value; }
        }

        public string Tempreture
        {
            get { return _tempreture; }
            set { _tempreture = value; }
        }

        public string Humidity
        {
            get { return _humidity; }
            set { _humidity = value; }
        }

        public string InputTime
        {
            get { return _inputTime; }
            set { _inputTime = value; }
        }
    }
}
 

获取及转换代码

            InfoModel info = new InfoModel();

            string hostV = ins.Host;
            string urlV = ins.Url;
            string stationNameV = ins.StationName;

            var client = new RestClient(hostV);

            string url = hostV + urlV +  stationNameV;
            var request = new RestRequest( url , Method.POST);
            request.AddHeader("Content-Type", "application/json");

            var response = client.Execute(request);

            info = JsonConvert.DeserializeObject<InfoModel>(response.Content);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小飞鱼通达二开

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值