1. 程式人生 > >C#將Json解析成DateTable的方法

C#將Json解析成DateTable的方法

設計 功能 lec 獲取數據 one 分享圖片 ring bsp cas

本文實例講述了C#將Json解析成DateTable的方法。分享給大家供大家參考。具體實現方法如下:


代碼如下:

#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

格式如下:


代碼如下:

{

table: [

{

column1: 1,

column2: 2,

column3: 3

},

{

column1: 1,

column2: 2,

column3: 3

}

]

}

例如:


代碼如下:

[{Code:MetaDataId,Name:MetaDataId},{Code:MetadataCode,Name:編號},{Code:SolutionName,Name:名稱}]

格式化後:


代碼如下:

[

{

Code: MetaDataId,

Name: MetaDataId

},

{

Code: MetadataCode,

Name: 編號

},

{

Code: SolutionName,

Name: 名稱

}

]

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

除聲明外,跑步客文章均為原創,轉載請以鏈接形式標明本文地址
C#將Json解析成DateTable的方法

本文地址: http://www.paobuke.com/develop/c-develop/pbk23193.html






相關內容

技術分享圖片基於C#的UDP協議的同步通信實現代碼技術分享圖片C# 繪制統計圖大全(柱狀圖, 折線圖, 扇形圖)技術分享圖片C#Url操作類封裝、仿Node.Js中的Url模塊實例技術分享圖片C#實現百度ping推送功能的方法
技術分享圖片WinForm單例窗體用法實例技術分享圖片C#生成DLL文件的方法小結技術分享圖片unity3d調用手機或電腦攝像頭技術分享圖片C#實現自定義雙擊事件

C#將Json解析成DateTable的方法