zoukankan      html  css  js  c++  java
  • C#Json转DataTable

    /// <summary>
    /// Json 字符串 转换为 DataTable数据集合
    /// </summary>
    /// <param name="json"></param>
    /// <returns></returns>
    public static DataTable ToDataTableTwo(string json)
    {
      DataTable dataTable = new DataTable(); //实例化
      DataTable result;
    try
    {
      JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
      javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
      ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);
      if (arrayList.Count > 0)
      {
        foreach (Dictionary<string, object> dictionary in arrayList)
        {
          if (dictionary.Keys.Count<string>() == 0)
          {
            result = dataTable;
            return result;
          }
    //Columns
    if (dataTable.Columns.Count == 0)
    {
      foreach (string current in dictionary.Keys)
      {
        dataTable.Columns.Add(current, dictionary[current].GetType());
      }
    }
    //Rows
    DataRow dataRow = dataTable.NewRow();
    foreach (string current in dictionary.Keys)
    {
      dataRow[current] = dictionary[current];
    }
      dataTable.Rows.Add(dataRow); //循环添加行到DataTable中
      }
      }
      }
      catch
      {
      }
      result = dataTable;
      return result;
    }
    
     
    
    public static string ToJson(this DataTable dt)
    {
      JavaScriptSerializer javaScriptSerializer = new JavaScriptSerializer();
      javaScriptSerializer.MaxJsonLength = Int32.MaxValue; //取得最大数值
      ArrayList arrayList = javaScriptSerializer.Deserialize<ArrayList>(json);
      foreach (DataRow dataRow in dt.Rows)
      {
        Dictionary<string, object> dictionary = new Dictionary<string, object>(); //实例化一个参数集合
      foreach (DataColumn dataColumn in dt.Columns)
      {
        dictionary.Add(dataColumn.ColumnName, dataRow[dataColumn.ColumnName].ToStr());
      }
        arrayList.Add(dictionary); //ArrayList集合中添加键值
      }
    
      return javaScriptSerializer.Serialize(arrayList); //返回一个json字符串
    }
  • 相关阅读:
    python 加入excel 失败的原因
    Python 比利的滑动验证
    HTML列表
    HTML表格
    HTML图像
    牛客网212D禁书目录Index-题解
    关于RMQ的一些拓展
    LOJ535「LibreOJ Round #6」花火-题解
    [SDOI2011]导弹拦截-题解
    [HNOI2015]开店-题解
  • 原文地址:https://www.cnblogs.com/robertyao/p/10092368.html
Copyright © 2011-2022 走看看