publicstaticDataTableToDataTable(string jsonStr){DataTable table =newDataTable();//JsonStr为Json字符串JArray array = JsonConvert.DeserializeObject(jsonStr)asJArray;//反序列化为数组if(array.Count >0){StringBuilder columns =newStringBuilder();JObject objColumns = array[0]asJObject;//构造表头foreach(JToken jkon in objColumns.AsEnumerable<JToken>()){string name =((JProperty)(jkon)).Name;
columns.Append(name +",");
table.Columns.Add(name);}//向表中添加数据for(int i =0; i < array.Count; i++){DataRow row = table.NewRow();JObject obj = array[i]asJObject;foreach(JToken jkon in obj.AsEnumerable<JToken>()){string name =((JProperty)(jkon)).Name;stringvalue=((JProperty)(jkon)).Value.ToString().Replace("\"","");
row[name]=value;}
table.Rows.Add(row);}}return table;}
检查list集合索引是否连续
privatestaticboolIsContinuous(List<int> numList){
numList.Sort((x, y)=>-x.CompareTo(y));//降序bool result =false;for(int i =0; i <(numList.Count()-1); i++){if(numList[i]- numList[i +1]==1)
result =true;else{
result =false;break;}}return result;}