datatable 转换json

1.页面ajax传值到一般处理程序

 function btnOnClick() {
        alert(1);
        $.ajax({
            url: "../ashx/HanderTest.ashx",
            type: "GET",
            dataType: "json",
            success: function (data) {
                alert("成功");
                alert(data.status);
                var obj = data.rows;
                var html = "";
                html += "<ul>";
                for (var i = 0; i < obj.length; i++) {
                    html += "<li>" + obj[i].Product + "</li>";
                    html += "<li>" + obj[i].Description + "</li>";
                }
                html += "</ul>";
                $("#span_tr").append(html);
                //document.getElementById("span_tr").append = html;
            },
            fail: function () {
                alert("失败");
            },
            error: function () {
                alert("错误");
            }

        });
            } 

2.一般处理程序转换json

     public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            #region DataTable类型数据
            DataTable dt = new DataTable("Datas");
            DataColumn dc = null;
            dc = dt.Columns.Add("ID", Type.GetType("System.Int32"));
            dc.AutoIncrement = true;//自动增加
            dc.AutoIncrementSeed = 1;//起始为1
            dc.AutoIncrementStep = 1;//步长为1
            dc.AllowDBNull = false;

            dc = dt.Columns.Add("Product", Type.GetType("System.String"));
            dc = dt.Columns.Add("Description", Type.GetType("System.String"));
            for (int i = 0; i < 5; i++)
            {
                DataRow dr = dt.NewRow(); ;
                dr["Product"] = "测试产品" + i;
                dr["Description"] = "测试产品描述" + i;
                dt.Rows.Add(dr);
            }
            #endregion

            #region JSON 格式化
            StringBuilder Str = new StringBuilder();
            Str.Append("{\"status\":200,");
            Str.Append("\"rows\":[");
            DataRowCollection drc = dt.Rows;
            for (int i = 0; i < drc.Count; i++)
            {
                Str.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    string strKey = dt.Columns[j].ColumnName;//列名
                    string strValue = drc[i][j].ToString();//列名对应的值
                    if (j < dt.Columns.Count - 1)
                    {
                        Str.AppendFormat("\"{0}\":\"{1}\",", strKey, strValue);//有逗号
                    }
                    else
                    {
                        Str.AppendFormat("\"{0}\":\"{1}\"", strKey, strValue);//无逗号
                    }
                }
                Str.Append("},");
            }
            Str.Remove(Str.Length - 1, 1);//移除最后一个逗号
            Str.Append("]}");
            #endregion

            string jsonstr = Str.ToString();
            context.Response.Write(jsonstr);
        }

时间: 2024-11-05 18:55:39

datatable 转换json的相关文章

C#中DataTable转换JSON

#region 将DataTable转换为json public string dt2json(DataTable dt) { JavaScriptSerializer jss = new JavaScriptSerializer(); System.Collections.ArrayList dic = new System.Collections.ArrayList(); foreach (DataRow dr in dt.Rows) { System.Collections.Generic

DataTable转换JSON

public static string getJson2(this DataTable dt) { List<Dictionary<string, object>> list = new List<Dictionary<string, object>>(); foreach (DataRow dr in dt.Rows) { Dictionary<string, object> result = new Dictionary<string

.NET中把DataTable转换成JSON的总结

最近在做公司的一个project,其中有一部分,要求浏览器端通过jquery ajax调用服务器端返回json格式的多条数据.网上搜索了一下,找到下面两个方法在.NET中生成json. 方法一:.NET Framework 3.0及更早的版本: public static string GetJSONString(DataTable Dt) { string[] StrDc = new string[Dt.Columns.Count]; string HeadStr = string.Empty

DataTable 转换成 Json的3种方法

在web开发中,我们可能会有这样的需求,为了便于前台的JS的处理,我们需要将查询出的数据源格式比如:List<T>.DataTable转换为Json格式.特别在使用Extjs框架的时候,Ajax异步请求的数据格式就是Json.鉴于此,我今天来分享将DataTable 转换成 Json的3种方法.换句话说如何在ASP.NET将一个DataTable序列化为 Json数组.或者如何从一个DataTable返回一个Json字符串.这篇文章将采用StringBuilder,JavaScriptSeri

C# DataTable 转换成JSON数据

原文:C# DataTable 转换成JSON数据 using System; using System.Collections.Generic; using System.Data; using System.Linq; using System.Text; using System.Web; using System.Web.Script.Serialization; namespace WsDemo { public class DataTableConvertJson { #region

[C#]Datatable和json互相转换操作

1 #region DataTable 转换为Json字符串实例方法 2 /// <summary> 3 /// GetClassTypeJosn 的摘要说明 4 /// </summary> 5 public class GetClassTypeJosn : IHttpHandler 6 { 7 /// <summary> 8 /// 文件名:DataTable 和Json 字符串互转 9 /// 版权所有:Copyright (C) Create Family We

C#将DataTable转换成list的方法

本文实例讲述了C#将DataTable转换成list及数据分页的方法.分享给大家供大家参考.具体如下: /// <summary>   /// 酒店评论列表-分页  /// </summary>  /// <param name="userId"></param>  /// <param name="pageIndex">当前页</param>  /// <param name="

JSON之Asp.net MVC C#对象转JSON,DataTable转JSON,List&lt;T&gt;转JSON,JSON转List&lt;T&gt;,JSON转C#对象

一.JSON解析与字符串化                                                                                            JSON.stringify() 序列化对象.数组或原始值 语法:JSON.stringify(o,filter,indent) o,要转换成JSON的对象.数组或原始值 filter,指定要序列化的属性名 indent,格式化为可读的代码,可指定分隔符或指定的缩进空格个数 var man

Datatable转换为Json 然后把Json数据放入 js 文件中

C#中把Datatable转换为Json的5个代码实例 /// <summary> /// Datatable转换为Json /// </summary> /// <param name="table">Datatable对象</param> /// <returns>Json字符串</returns> public static string ToJson(DataTable dt) { StringBuilde