中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

C# 將 Json 解析成 DateTable

2018-07-20    來源:open-open

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用
#region 將 Json 解析成 DateTable  
        /// <summary>     
        /// 將 Json 解析成 DateTable。    
        /// Json 數(shù)據(jù)格式如:   
        ///     {table:[{column1:1,column2:2,column3:3},{column1:1,column2:2,column3:3}]}   
        /// </summary>     
        /// <param name="strJson">要解析的 Json 字符串</param>     
        /// <returns>返回 DateTable</returns>     
        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("]"));  
  
            // 獲取數(shù)據(jù)     
            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(',');  
                // 創(chuàng)建表     
                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();  
                }  
                // 增加內(nèi)容     
                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  
            }  
        ]  
    }  

標簽:

版權(quán)申明:本站文章部分自網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉(zhuǎn)載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權(quán)歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:Asp.Net 加密解密

下一篇:用php的fsocket模擬get提交 模擬post提交表單