一、引用
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);
}