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(response.Content);

你可能感兴趣的:(.Net技术,c#,json)