源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C#将Json解析成DateTable的方法

  • 时间:2021-02-02 15:11 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C#将Json解析成DateTable的方法
本文实例讲述了C#将Json解析成DateTable的方法。分享给大家供大家参考。具体实现方法如下:
[u]复制代码[/u] 代码如下:
#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
  格式如下:
[u]复制代码[/u] 代码如下:
{     table: [         {             column1: 1,             column2: 2,             column3: 3         },         {             column1: 1,             column2: 2,             column3: 3         }     ] }
  例如:
[u]复制代码[/u] 代码如下:
[{Code:MetaDataId,Name:MetaDataId},{Code:MetadataCode,Name:编号},{Code:SolutionName,Name:名称}]
格式化后:
[u]复制代码[/u] 代码如下:
[     {         Code: MetaDataId,         Name: MetaDataId     },     {         Code: MetadataCode,         Name: 编号     },     {         Code: SolutionName,         Name: 名称     } ]
希望本文所述对大家的C#程序设计有所帮助。
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部