C#将json解析,转为list再填充到DataSet中

一、引用

       NuGet包管理中下载安装Newtonsoft.Json——负责解析json数据

       添加引用   using Newtonsoft.Json;

二、查看json数据形式

       例如:

       {

            "Error":null,

            "ResultSet":[   {"Data1ID":"b9aa7d95-8f73-4376-a346-b30bd83bc8ce",
                                     "DataFlag":"N",
                                     "DataTime":"\/Date(1533780000000+0800)\/",
                                     "DataValue":7.29,
                                     "DisplayDataValue":null,
                                     "LHCodeID":"Z60",
                                     "PlatFlag":"",
                                     "RevisedFlag":"",
                                     "RevisedValue":null,
                                     "Rubbish":null,
                                     "SHID":"",
                                     "VerifyID":null,
                                     "BZlevelDown":null,
                                     "BZlevelUP":null,
                                     "CheckBound":null,
                                     "ChrUP":null,
                                     "ChrUnit":"",
                                     "CouK":null,
                                     "CouUnit":"",
                                     "DBCodeID":"",
                                     "MN":null,
                                     "MNName":null,
                                     "ParamName":""
                                     "ParamUnit":"",
                                     Pre":null,
                                     "SubType":null,
                                     "Validnumber":null,
                                     "WaterLevel":null,
                                     "isCheck":null,
                                     "isSingleCheck":null
                                     }]

              "TotalCount":18

        }

三、C#编程

(1)构建与数据形式对应得类class

    public class JsonParser
    {
        public int TotalCount;
        public string Error;
        public List<Data> ResultSet;
    }


    public class Data
    {
        public string Data1ID;
        public string DataFlag;
        public string DataTime;
        public string DataValue;
        public string DisplayDataValue;
        public string LHCodeID;
        public string PlatFlag;
        public string RevisedFlag;
        public string RevisedValue;
        public string Rubbish;
        public string SHID;
        public string VerifyID;
        public string BZlevelDown;
        public string BZlevelUP;
        public string CheckBound;
        public string ChrUP;
        public string ChrUnit;
        public string CouK;
        public string CouUnit;
        public string DBCodeID;
        public string MN;
        public string MNName;
        public string ParamName;
        public string ParamUnit;
        public string Pre;
        public string SubType;
        public string Validnumber;
        public string WaterLevel;
        public string isCheck;
        public string isSingleCheck;
    }

(2)json数据解析到list再填充进DataSet

                   JsonParser jp = (JsonParser)JsonConvert.DeserializeObject<JsonParser>(result);         //result为上面的Json数据
                    List<Data> list = jp.ResultSet;
                    list = jp.ResultSet;

                    foreach (Data data in list)
                    {
                        DataRow dr = dt.NewRow();
                        dr["MN"] = data.MN;
                        dr["MNName"] = data.MNName;
                        dr["DataTime"] = GetTime(data.DataTime);
                        dr["BZlevelDown"] = data.BZlevelDown;
                        dr["BZlevelUP"] = data.BZlevelUP;
                        dr["CheckBound"] = data.CheckBound;
                        dr["ChrUnit"] = data.ChrUnit;
                        dr["ChrUP"] = data.ChrUP;
                        dr["CouK"] = data.CouK;
                        dr["CouUnit"] = data.CouUnit;
                        dr["Data1ID"] = data.Data1ID;
                        dr["DataFlag"] = data.DataFlag;
                        dr["DataValue"] = Convert.ToDouble(data.DataValue);
                        dr["DBCodeID"] = data.DBCodeID;
                        dr["DisplayDataValue"] = data.DisplayDataValue;
                        dr["isCheck"] = data.isCheck;
                        dr["isSingleCheck"] = data.isSingleCheck;
                        dr["LHCodeID"] = data.LHCodeID;
                        dr["ParamName"] = data.MNName;
                        dr["ParamUnit"] = data.ParamUnit;
                        dr["PlatFlag"] = data.PlatFlag;
                        dr["Pre"] = Convert.ToInt32(data.Pre);
                        dr["RevisedFlag"] = data.RevisedFlag;
                        dr["RevisedValue"] = data.RevisedValue;
                        dr["Rubbish"] = data.Rubbish;
                        dr["SHID"] = data.SHID;
                        dr["SubType"] = data.SubType;
                        dr["Validnumber"] = data.Validnumber;
                        dr["VerifyID"] = Convert.ToInt32(data.VerifyID);
                        dr["WaterLevel"] = data.WaterLevel;
                        dt.Rows.Add(dr);
                    }

扫描二维码关注公众号,回复: 9370071 查看本文章
发布了33 篇原创文章 · 获赞 43 · 访问量 8万+

猜你喜欢

转载自blog.csdn.net/qq_31967985/article/details/81540477
今日推荐