C#将Json解析成DateTable的方法
发布时间:2020-12-15 05:53:28 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#将Json解析成DateTable的方法。供大家参考研究。具体实现方法如下: 复制代码 代码如下: #region 将 Json 解析成 DateTable /// /// 将 Json 解析成 DateTable。 /// Json 数据格式如: /// {table:[{column1:1,column2:2,column3:3},{
本篇章节讲解C#将Json解析成DateTable的方法。分享给大家供大家参考。具体实现方法如下: 复制代码 代码如下: #region 将 Json 解析成 DateTable /// /// 将 Json 解析成 DateTable。 /// Json 数据格式如: /// {table:[{column1:1,column2:2,column3:3},{column1:1,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, column3: 3 } ] } 例如: 复制代码 代码如下: [{Code:MetaDataId,Name:MetaDataId},{Code:MetadataCode,Name:编号},{Code:SolutionName,Name:名称}] 格式化后: 复制代码 代码如下: [
{ Code: MetaDataId, Name: MetaDataId }, { Code: MetadataCode, Name: 编号 }, { Code: SolutionName, Name: 名称 } ] 希望本文所述对大家的C#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |