手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#将Json解析成DateTable的方法
C#将Json解析成DateTable的方法
摘要:本文实例讲述了C#将Json解析成DateTable的方法。分享给大家供大家参考。具体实现方法如下:复制代码代码如下:#region将Jso...

本文实例讲述了C#将Json解析成DateTable的方法。分享给大家供大家参考。具体实现方法如下:

复制代码 代码如下:#region 将 Json 解析成 DateTable ///

/// 将 Json 解析成 DateTable。

/// Json 数据格式如: ///

{table:[{column1:1,column2:2,column3:3},{column1:1,column2:2,column3:3}]}

///

///要解析的 Json 字符串

/// 返回 DateTable public DataTable JsonToDataTable(string strJson)

{

//

取出表名 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(':');

dc.ColumnName = strCell[0].Replace(, );

tb.Columns.Add(dc); }

tb.AcceptChanges();

} // 增加内容 DataRow dr = tb.NewRow();

for (int j = 0; j < strRows.Length; j++)

{ dr[j] = strRows[j].Split(':')[1].Replace(,

);

} tb.Rows.Add(dr);

tb.AcceptChanges();

}

return tb; }

#endregion

格式如下:

复制代码 代码如下:{

table: [

{

column1: 1,

column2: 2,

column3: 3

},

{

column1: 1,

column2: 2,

column3: 3

}

]

}

例如:

复制代码 代码如下:[{Code:MetaDataId,Name:MetaDataId},{Code:MetadataCode,Name:编号},{Code:SolutionName,Name:名称}]

格式化后:

复制代码 代码如下:[

{

Code: MetaDataId,

Name: MetaDataId

},

{

Code: MetadataCode,

Name: 编号

},

{

Code: SolutionName,

Name: 名称

}

]

希望本文所述对大家的C#程序设计有所帮助。

【C#将Json解析成DateTable的方法】相关文章:

解析c#操作excel后关闭excel.exe的方法

C#中将ListView中数据导出到Excel的实例方法

C# 获取打印机当前状态的方法

遍历Hashtable 的几种方法

C#操作注册表的方法

C#获取系统版本信息方法

c#中合并DataTable重复行的值

C#处理JPEG头信息的方法

C#中HashTable的定义与使用方法

c#实现隐藏与显示任务栏的方法详解

精品推荐
分类导航