通过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
谢谢,就是他!
我使用的是这个
http://json.codeplex.com/
我一直用我这个,自己拼接而成的
/// <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(); }