DataTable 转换成 Json
来源:互联网 发布:淘宝网商城女装冬装 编辑:程序博客网 时间:2024/06/04 18:35
(1)
using System.Text;
public string DataTableToJson(DataTable table) { var JsonString = new StringBuilder(); if (table.Rows.Count > 0) { JsonString.Append("["); for (int i = 0; i < table.Rows.Count; i++) { JsonString.Append("{"); for (int j = 0; j < table.Columns.Count; j++) { if (j < table.Columns.Count - 1) { JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\","); } else if (j == table.Columns.Count - 1) { JsonString.Append("\"" + table.Columns[j].ColumnName.ToString() + "\":" + "\"" + table.Rows[i][j].ToString() + "\""); } } if (i == table.Rows.Count - 1) { JsonString.Append("}"); } else { JsonString.Append("},"); } } JsonString.Append("]"); } return JsonString.ToString(); }
(2)
使用Json.Net DLL (Newtonsoft)。
这个方法中要添加Json.Net DLL引用,我们可以从Newtonsoft下载Json.Net DLL,再导入命名空间,代码如下:
using Newtonsoft.Json; public string DataTableToJsonWithJsonNet(DataTable table) { string JsonString=string.Empty; JsonString = JsonConvert.SerializeObject(table); return JsonString; }将json转换为DataTable
///
/// 将json转换为DataTable
///
/// 得到的json
///
private DataTable JsonToDataTable(string strJson)
{
//转换json格式
strJson = strJson.Replace(“,\”“, “*\”“).Replace(“\”:”, “\”#”).ToString();
//取出表名
var rg = new Regex(@”(?<={)[^:]+(?=:[)”, RegexOptions.IgnoreCase);
string strName = rg.Match(strJson).Value;
DataTable tb = null;
//去除表名
strJson = strJson.Substring(strJson.IndexOf(“[“) + 1);
strJson = strJson.Substring(0, strJson.IndexOf(“]”));
//获取数据 rg = new Regex(@"(?<={)[^}]+(?=})"); MatchCollection mc = rg.Matches(strJson); for (int i = 0; i < mc.Count; i++) { string strRow = mc[i].Value; string[] strRows = strRow.Split('*'); //创建表 if (tb == null) { tb = new DataTable(); tb.TableName = strName; foreach (string str in strRows) { var dc = new DataColumn(); string[] strCell = str.Split('#'); if (strCell[0].Substring(0, 1) == "\"") { int a = strCell[0].Length; dc.ColumnName = strCell[0].Substring(1, a - 2); } else { dc.ColumnName = strCell[0]; } tb.Columns.Add(dc); } tb.AcceptChanges(); } //增加内容 DataRow dr = tb.NewRow(); for (int r = 0; r < strRows.Length; r++) { dr[r] = strRows[r].Split('#')[1].Trim().Replace(",", ",").Replace(":", ":").Replace("\"", ""); } tb.Rows.Add(dr); tb.AcceptChanges(); } return tb; }
- DataTable转换成JSON
- DataTable 转换成 Json
- dataTable转换成Json格式
- 将json转换成datatable
- datatable转换成list<T>,datatable转换成json格式
- DataTable转换成JSON字符串的函数
- DataTable转换成JSON字符串的函数
- DataTable转换成json格式两则
- C# DataTable 转换成JSON数据
- C# DataTable转换成JSON数据
- 将DataTable转换成json字符串
- 将DataTable数据转换成JSON数据
- dataTable、dataset转换成Json格式
- DataTable 转换JSON
- json转换为DataTable
- .net DataTable转换json
- DataTable 转换 JSON
- json DataTable互相转换
- SQL 语句
- 如何在iOS上实现苹果电脑最小化窗口时的“神奇效果”(即吸入吸出效果在iPhone上的实现)
- Java Tutorial JDBC
- PHP (递归分类信息)
- 新买的阿里云服务器无法进行远程桌面
- DataTable 转换成 Json
- my97时间选择
- Myeclipse如何部署项目
- codeforces/contest/798/problem/B
- Linux 相关技能
- github入门指南
- get和load方式 .
- 常用SQL查询语句
- 简单工厂模式