asp.net json和Datatable格式的相互转化

  1. #region 将datatable格式转换成 json格式
            public static string DataSetToJson(DataTable dt)
            {
                string json = string.Empty;
                try
                {
                    if (dt == null || dt.Rows.Count == 0)
                    {
                        return "";
                    }
                    json = "{";
                    json += "‘table" + 1 + "‘:[";
                    for (int i = 0; i < dt.Rows.Count; i++)
                    {
                        json += "{";
                        for (int j = 0; j < dt.Columns.Count; j++)
                        {
                            json += "‘" + dt.Columns[j].ColumnName + "‘:‘" + dt.Rows[i][j].ToString() + "‘";
                            if (j != dt.Columns.Count - 1)
                            {
                                json += ",";
                            }
                        }
                        json += "}";
                        if (i != dt.Rows.Count - 1)
                        {
                            json += ",";
                        }
                    }
                    json += "]";
                    json += "}";
                }
                catch (Exception ex)
                {

    throw new Exception(ex.Message);
                }
                return json;
            }
            #endregion

  2. #region 将json格式解析成datatable格式
            public static DataTable JsonToDataTable(string strJson)
            {

    //取出表名  
                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("]"));

    //获取数据  
                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)
                        {
                            DataColumn dc = new DataColumn();

    string[] strCell = str.Split(‘:‘);
                            dc.ColumnName = strCell[0].ToString().Trim().Replace("‘", "");
                            // row[dc.ColumnName] = strCell[1].ToString();
                            tb.Columns.Add(dc);
                            // t .Columns[strCell[0].ToString()].te
                        }

    tb.AcceptChanges();
                    }
                    DataRow row = tb.NewRow();

    foreach (var item in strRows)
                    {
                        string[] strCell1 = item.Split(‘:‘);
                        string lie = strCell1[0].ToString().Trim().Replace("‘", "");
                        string zhi = strCell1[1].ToString().Trim().Replace("‘", "");
                        // row[strCell1[0].ToString()] = strCell1[1].ToString();
                        row[lie] = zhi;
                    }
                    tb.Rows.Add(row);
                    // t .Columns[strCell[0].ToString()].te
                }
                tb.AcceptChanges();
                return tb;
            }
            #endregion

时间: 2024-12-26 06:02:58

asp.net json和Datatable格式的相互转化的相关文章

json与DataTable相互转换

首先我们看看 Newtonsoft.Json.JsonConvert 是怎么完成的: DataTable table = new DataTable(); table.Columns.Add("id"); table.Columns.Add("name"); table.Columns.Add("url"); table.Rows.Add("1", "zhengdjin", "http://blo

json转datatable(正则表达式的方法)

/// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson">得到的json</param> /// <returns></returns> private DataTable JsonToDataTable(string strJson) { //转换json格式 strJson = strJson.Replace(&qu

asp.net json 与xml 的基础事例

1 //json序列化和反序列化 using System.Runtime.Serialization.Json; 2 public static string JsonSerializer<T>(T t) 3 { 4 DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T)); 5 MemoryStream ms = new MemoryStream(); 6 ser.WriteObject(ms, t

c# 将json转换为DataTable

/// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson">得到的json</param> /// <returns></returns> public static DataTable JsonToDataTable(string strJson) { //转换json格式 strJson = strJson.Repla

C#实现将json转换为DataTable的方法

本文实例讲述了C#实现将json转换为DataTable的方法.分享给大家供大家参考.具体实现方法如下: 代码如下: #region 将json转换为DataTable /// <summary> /// 将json转换为DataTable /// </summary> /// <param name="strJson">得到的json</param> /// <returns></returns> private

ASP生成JSON数据

原文地址为:ASP生成JSON数据 < %@LANGUAGE = " VBSCRIPT "  CODEPAGE = " 65001 " % >  < ! -- #include file = " json.asp " -->  < ! -- #include file = " inc/Conn.asp "   -->  < %response.ContentType = " 

将json的时间格式转换成正常的时间格式

/** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M).日(d).12小时(h).24小时(H).分(m).秒(s).周(E).季度(q) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 * (new Date())

Json 的日期格式转换成DateTime

JSON 的日期形式:"/Date(1242357713797+0800)/" , 下面我们就用以下C#的方法将他转换成DateTime类型: /// <summary> /// Json 的日期格式与.Net DateTime类型的转换/// </summary> /// <param name="jsonDate">Json 的日期,例如:/Date(928120800000+0800)/</param> ///

JSON的基本格式以及与JavaScript之间的转换

JSON的基本格式以及与JavaScript之间的转换 近来,发现很多人写json格式的数据时,总是没有达到JSON的规范,虽然在语言要求不严格的情况下能够通过, 但是,难免会遇到这样那样的问题,到时候再做修改,担心为时晚矣,故计划写此博文. JSON的语法规则: 1.数据需要以键值对的形式书写: e g: { "name" : "zychao" } 2.数据与数据之间需要通过逗号分隔: e g: { "name" : "zychao&