tnblog
首页
视频
资源
登录

Datatable转换为Json

5083人阅读 2022/10/2 13:47 总访问:8992 评论:0 收藏:0 手机
分类: .net
  1.          /// <summary> 
  2.         /// Datatable转换为Json 
  3.         /// </summary> 
  4.         /// <param name="table">Datatable对象</param> 
  5.         /// <returns>Json字符串</returns> 
  6.         public static string DatatableToJson(DataTable dt)
  7.         {
  8.             StringBuilder jsonString = new StringBuilder();
  9.             jsonString.Append("[");
  10.             DataRowCollection drc = dt.Rows;
  11.             for (int i = 0; i < drc.Count; i++)
  12.             {
  13.                 jsonString.Append("{");
  14.                 for (int j = 0; j < dt.Columns.Count; j++)
  15.                 {
  16.                     string strKey = dt.Columns[j].ColumnName;
  17.                     string strValue = drc[i][j].ToString();
  18.                     Type type = dt.Columns[j].DataType;
  19.                     jsonString.Append("\"" + strKey + "\":");
  20.                     strValue = StringFormat(strValue, type);
  21.                     if (j < dt.Columns.Count - 1)
  22.                     {
  23.                         jsonString.Append(strValue + ",");
  24.                     }
  25.                     else
  26.                     {
  27.                         jsonString.Append(strValue);
  28.                     }
  29.                 }
  30.                 jsonString.Append("},");
  31.             }
  32.             if (jsonString.Length > 1)
  33.             {
  34.                 jsonString.Remove(jsonString.Length - 11);
  35.             }
  36.             jsonString.Append("]");
  37.             return jsonString.ToString();
  38.         }
  39.         /// <summary>
  40.         /// 格式化字符型、日期型、布尔型
  41.         /// </summary>
  42.         private static string StringFormat(string str, Type type)
  43.         {
  44.             if (type == typeof(string))
  45.             {
  46.                 str = String2Json(str);
  47.                 str = "\"" + str + "\"";
  48.             }
  49.             else if (type == typeof(DateTime))
  50.             {
  51.                 str = "\"" + str + "\"";
  52.             }
  53.             else if (type == typeof(bool))
  54.             {
  55.                 str = str.ToLower();
  56.             }
  57.             else if (type != typeof(string) && string.IsNullOrEmpty(str))
  58.             {
  59.                 str = "\"" + str + "\"";
  60.             }
  61.             return str;
  62.         }
  63.         public static string String2Json(String s)
  64.         {
  65.             StringBuilder sb = new StringBuilder();
  66.             for (int i = 0; i < s.Length; i++)
  67.             {
  68.                 char c = s.ToCharArray()[i];
  69.                 switch (c)
  70.                 {
  71.                     case '\"':
  72.                         sb.Append("\\\""); break;
  73.                     case '\\':
  74.                         sb.Append("\\\\"); break;
  75.                     case '/':
  76.                         sb.Append("\\/"); break;
  77.                     case '\b':
  78.                         sb.Append("\\b"); break;
  79.                     case '\f':
  80.                         sb.Append("\\f"); break;
  81.                     case '\n':
  82.                         sb.Append("\\n"); break;
  83.                     case '\r':
  84.                         sb.Append("\\r"); break;
  85.                     case '\t':
  86.                         sb.Append("\\t"); break;
  87.                     default:
  88.                         sb.Append(c); break;
  89.                 }
  90.             }
  91.             return sb.ToString();
  92.         }


评价

网页上传文件断点续传的实现,无视文件大小上传,以及Datatables基本用法

首先明白js是客户带执行代码,c#是服务器上执行代码。本地文件需要用到js处理,服务器端接受c#代码处理1.HTML页面,文件信...

bootstrap中的Datatables

就是这种直接支持页面分页,排序,搜索什么的注意需要相关的js和样式然后js把表格变成dataTable就可以了Bootstrap模板中使...

Datatable加上复选框

直接贴代码 &quot;columnDefs&quot;: [ { &#39;targets&#39;: 0, &#39;searchable&#39;:false, &#...

Datatable 怎么在生成的js文件中添加复选框

前言hello大家好咋们又见面了我是你们熟悉的小付今天给大家分享的是DataTable怎么在生成的js文件中添加复选框 话不多说直...

Datatables-Checkboxes 中的复选框

在后台左边添加一列复选框如下随后实现复选框全选全不选中//页面上点击此属性,将当前页的列表数据全部选中 $(&#39;#sel...

excel(泛型和Datatable)帮助类含添加和读取表头批注

usingSystem; usingSystem.Collections.Generic; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; ...

ado.net查询数据库返回Datatable

代码很简单,包含可以传参数 public DataTable GetDataTable(string sql, SqlParameter sqlparameter = null) { usi...

.net动态生成Datatable,dataset

代码如下:DataSetds=newDataSet(); DataTabledataTable=newDataTable(); dataTable.Columns.Add(&quot;列名1&quot;,type...

.net Datatable 遍历所有列名和内容,遍历所有行和列

代码如下: public void TestDataSet() { //db达梦数据库 using (DmConnection dmConnection = new DmConnecti...

html转换为js,节省重复模块的编写时间

有些时候,我们需要多次应用到自己的布局块,我们可以通过将html代码装换成js文件来装取代码下次需要用到时,去引入对应的j...

网络图片转换为Base64格式笔记

/// &lt;summary&gt; /// 网络图片转换为Base64格式 /// &lt;/summary&gt; /// &lt;param name=&quot;urlAddress&...

Json对象和Json字符串的区别

JSON对象是直接可以使用JQuery操作的格式,如C#中可以用对象(类名)点出属性(方法)一样var str2 = { &quot;name&quot;: ...

对象转Json

/// &lt;summary&gt; /// 对象转json /// &lt;/summary&gt; public static string ToJson(object jsonObject) ...

来!!!今天玩 Json

别怪我懒,其实我是真的懒///&lt;summary&gt; ///List转成json ///&lt;/summary&gt; ///&lt;typeparamname=&quot;T&quot...

WebAPI转Json格式

创建WebApi项目时出现的xml格式,每次都去转换比较麻烦在Global设置全局输出json格式://直接xml干掉为json GlobalConfigu...
有人难眠,有人背风点烟
排名
87
文章
16
粉丝
3
评论
0
ICP备案 :渝ICP备18016597号-1
网站信息:2018-2025TNBLOG.NET
技术交流:群号656732739
联系我们:contact@tnblog.net
公网安备:50010702506256
欢迎加群交流技术