/// <summary>
/// Json 字串 轉換為 DataTable資料集合
/// </summary>
/// <param name="json"></param>
/// <returns></returns>
public static DataTable DtToJson(string json)
{
////取出表名
//Regex 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("]"));
//獲取資料
Regex rg = new Regex(@"(?<={)[^}]+(?=})");
MatchCollection mc = rg.Matches(json);
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 = "";
foreach (string str in strRows)
{
DataColumn dc = new DataColumn();
string[] strCell = str.Split(':');
dc.ColumnName = strCell[0].ToString().Replace("\"", "").Trim();
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("/", "").Replace("\"", "").Trim();
}
tb.Rows.Add(dr);
tb.AcceptChanges();
}
return tb;
}
json字串格式如下:

目標:通過修改上面的函式將json字串轉化成datatable后,可以取到process_code的值,如何實作呢?
uj5u.com熱心網友回復:
論壇主要是學習原理和技能,并非免費做作業或者幫忙作業。轉載請註明出處,本文鏈接:https://www.uj5u.com/net/234089.html
標籤:ASP.NET
下一篇:c#可視化
