国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#實現將json轉換為DataTable的方法

2020-01-24 02:08:12
字體:
來源:轉載
供稿:網友

本文實例講述了C#實現將json轉換為DataTable的方法。分享給大家供大家參考。具體實現方法如下:

復制代碼 代碼如下:
#region 將json轉換為DataTable
/// <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;
}
#endregion

希望本文所述對大家的C#程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汤阴县| 增城市| 洛扎县| 大化| 大同市| 犍为县| 都匀市| 凤城市| 金山区| 眉山市| 城市| 长春市| 临高县| 成安县| 怀宁县| 扎鲁特旗| 张北县| 二手房| 尼木县| 城口县| 汾西县| 德安县| 德兴市| 平塘县| 象山县| 体育| 宜良县| 平顺县| 通海县| 米脂县| 东兴市| 静宁县| 天门市| 谢通门县| 长海县| 隆化县| 芜湖市| 视频| 吉木乃县| 正安县| 禹城市|