首页 新闻 会员 周边

使用ajax后台怎么返回json结构数据

0
[已解决问题] 解决于 2012-06-16 17:08

以前使用ajax后台返回的数据很简单,使用Response.Write()输出来,但是如果想把DataTable中的数据返回到后台,并是json结构的,怎么弄啊?

code先生-null的主页 code先生-null | 菜鸟二级 | 园豆:307
提问于:2012-06-16 13:48
< >
分享
最佳答案
1

通过Json.NET将DataTable序列化Json字符串,示例代码如下:

DataTable dt = new DataTable(); 
//...
Response.Write(Newtonsoft.Json.JsonConvert.SerializeObject(dt));

Json.NET官方网站:http://james.newtonking.com/projects/json-net.aspx

奖励园豆:5
dudu | 高人七级 |园豆:30829 | 2012-06-16 14:05

谢谢,就是他!

code先生-null | 园豆:307 (菜鸟二级) | 2012-06-16 17:08

我使用的是这个

http://json.codeplex.com/

code先生-null | 园豆:307 (菜鸟二级) | 2012-06-16 17:11
其他回答(1)
0

我一直用我这个,自己拼接而成的

 

        /// <summary>
        /// 将DataTable转化为JSON
        /// 
        /// 为了需要,需要加上一些字段滴
        /// </summary>
        /// <param name="dt"></param>
        /// <returns></returns>
        public static string DataTable2Json(DataTable dt, string dtName, string TotalRowNumber)
        {
            StringBuilder jsonBuilder = new StringBuilder();
            jsonBuilder.Append("{\"");
            jsonBuilder.Append(dt.TableName);
            jsonBuilder.Append("\":[");
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                jsonBuilder.Append("{");
                for (int j = 0; j < dt.Columns.Count; j++)
                {
                    jsonBuilder.Append("\"");
                    jsonBuilder.Append(dt.Columns[j].ColumnName);
                    jsonBuilder.Append("\":\"");
                    jsonBuilder.Append(dt.Rows[i][j].ToString());
                    jsonBuilder.Append("\",");
                }
                jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
                jsonBuilder.Append("},");
            }

            //移除多余的一个符号
            jsonBuilder.Remove(jsonBuilder.Length - 1, 1);
            jsonBuilder.Append("]");
            jsonBuilder.Append(",TotalRowCount:\"");
            jsonBuilder.Append(TotalRowNumber);
            jsonBuilder.Append("\"}");
            return jsonBuilder.ToString();
        }

 

需要格局 | 园豆:2145 (老鸟四级) | 2012-06-16 14:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册