public class JsonHandler : IHttpHandler {
public void ProcessRequest(HttpContext context) { string str = context.Request.QueryString["q"];
DataTable dt = new DataTable(); DataColumn copycolumn1 = new DataColumn("name", typeof(String)); DataColumn copycolumn2 = new DataColumn("code", typeof(String)); DataColumn copycolumn3 = new DataColumn("spell", typeof(String)); dt.Columns.Add(copycolumn1); dt.Columns.Add(copycolumn2); dt.Columns.Add(copycolumn3);
for (int i = 0; i < 10; i++) { DataRow row = dt.NewRow(); row["name"] = "深发展A"+i; row["code"] = "000001"; row["spell"] = "sfza"; dt.Rows.Add(row.ItemArray); DataRow row1 = dt.NewRow(); row1["name"] = "苹果A" + i; row1["code"] = "000002"; row1["spell"] = "apple"; dt.Rows.Add(row1.ItemArray); } string str1 = DataTableToJson(dt); context.Response.ContentType = "application/json"; context.Response.Write(str1); }
public bool IsReusable { get { return false; } }
/// <summary> /// dataTable转换成Json格式 /// </summary> /// <param name="dt"></param> /// <returns></returns> public string DataTableToJson(DataTable dtChild) { StringBuilder jsonBuilder = new StringBuilder(); jsonBuilder.Append("["); for (int i = 0; i < dtChild.Rows.Count; i++) { jsonBuilder.Append("{"); for (int j = 0; j < dtChild.Columns.Count; j++) { jsonBuilder.Append(""); jsonBuilder.Append(dtChild.Columns[j].ColumnName); jsonBuilder.Append(":\""); jsonBuilder.Append(dtChild.Rows[i][j].ToString()); jsonBuilder.Append("\","); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("},"); } jsonBuilder.Remove(jsonBuilder.Length - 1, 1); jsonBuilder.Append("]"); return jsonBuilder.ToString(); } }