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

來源:互聯網
上載者:User
本文執行個體講述了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#程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.