将datatable和dataset中的数据转为json数据 与反转
来源:互联网 发布:手机淘宝怎样免费开店 编辑:程序博客网 时间:2024/06/06 11:35
/// <summary>
/// 将json转换为DataTable
/// </summary>
/// <param name="strJson">得到的json</param>
/// <returns></returns>
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和dataset中的数据转为json数据 与反转
- 将数据转为json
- 将datatable转为json
- 将json 转为DataTable
- C#将DataSet或DataTable转换成Json格式数据传递到前台JS脚本
- 将DataTable数据转换成JSON数据
- dataset 与 datatable 中复制数据
- JS转为json数据、.NET DataTable转化为json格式
- DataSet,DataTable,List实现将Sql Server表中的数据绑定到GradView中
- DataSet 转 DataTable 将数据保存到excel中winform
- JSON、JAVA互转与将页面中改变的数据转为json格式
- 将dataset中的数据写入xml中
- 将DataSet中的数据导出Excel
- 将 html 中的 table 转为数据对象。
- 将JSON转成DataSet(DataTable)
- 将数据表DataTable转为压缩JSON格式
- 将Json数据中的“字符串形式”的数组转为数组形式
- DataSet数据关系与DataTable数据表的约束
- 9.patch的详细介绍
- afnet
- 主成分分析见解——Principal Components Analysis(PCA)
- iOS 视图透明度与视图颜色透明度
- 验证手机号码和电话号码的正则表达式
- 将datatable和dataset中的数据转为json数据 与反转
- 如何使用# ## ... _ _VA_ARGS_ _
- Android下获取各种存储目录
- _stdcall与_cdecl区别 (QT 加载MFC的dll时,要注意的"_stdcall"或者CALLBACK的问题)
- 微信自定义菜单初级菜鸟出现的问题之一
- 进程概述及创建,终止(VC_Win32)
- 计算机内存寻址
- 测试金字塔新解之移动无线应用测试
- HDU 2022 海选女主角