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

    开发语言 C#

    开发环境 .net framework 4.7.2

    Newtonsoft.Json 版本 6.0

    准备好Json数据,Json数据如下:

    {"columns":["列1","列2"],"rows":{"0":{"列1":"1","列2":"2"},"2":{"列1":"11","列2":"22"}}}

    Json格式化效果如下:

    下面是服务器端代码,方法可以直接复制

     1       /// <summary>
     2         /// 根据传入的JSON数据,生成表格
     3         /// </summary>
     4         /// <param name="FiledsNames">列集合</param>
     5         /// <param name="Rows">行集合</param>
     6         /// <returns></returns>
     7         public static DataTable GetDataTableByJson(JToken FiledsNames, JToken Rows)
     8         {
     9             DataTable result = new DataTable();
    10             //增加列
    11             foreach (JToken i in FiledsNames)
    12             {
    13                 DataColumn tempColumn = new DataColumn();
    14                 tempColumn.ColumnName = i.ToString();
    15                 tempColumn.DataType = i.GetType();
    16                 result.Columns.Add(tempColumn);
    17             }
    18 
    19             //增加行
    20             foreach (JToken i in Rows)
    21             {
    22                 foreach (JToken l in i)
    23                 {
    24                     DataRow tempRow = result.NewRow();
    25                     List<object> rowsList = new List<object>();
    26                     foreach (JToken z2 in FiledsNames)
    27                     {
    28                         JToken tempRowValue = l[z2.ToString()];
    29                         rowsList.Add(tempRowValue);
    30                     }
    31                     tempRow.ItemArray = rowsList.ToArray();
    32                     result.Rows.Add(tempRow);
    33                 }
    34             }
    35             return result;
    36         }
  • 相关阅读:
    python set()、len()、type()、保留小数、EOFError
    代码学习与感悟
    你的代码的风格
    python 面向对象的类
    ubuntu 上下左右键变成ABCD
    python运算符
    python 数据类型详解
    python关键字
    python 设计及调试的一些小技巧
    python-list
  • 原文地址:https://www.cnblogs.com/Alex-Mercer/p/11858640.html
Copyright © 2011-2022 走看看