ASP.NET 把DataTable与Lis<T>转成json输出
//DataTable转成Json public static string DataTableToJson(string jsonName, DataTable dt) { StringBuilder Json = new StringBuilder(); Json.Append("{\"" + jsonName + "\":["); if (dt.Rows.Count > 0) { for (int i = 0; i < dt.Rows.Count; i++) { Json.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\""); if (j < dt.Columns.Count - 1) { Json.Append(","); } } Json.Append("}"); if (i < dt.Rows.Count - 1) { Json.Append(","); } } } Json.Append("]}"); return Json.ToString(); } //List转成json public static string ObjectToJson<T>(string jsonName, IList<T> IL) { StringBuilder Json = new StringBuilder(); Json.Append("{\"" + jsonName + "\":["); if (IL.Count > 0) { for (int i = 0; i < IL.Count; i++) { T obj = Activator.CreateInstance<T>(); Type type = obj.GetType(); PropertyInfo[] pis = type.GetProperties(); Json.Append("{"); for (int j = 0; j < pis.Length; j++) { Json.Append("\"" + pis[j].Name.ToString() + "\":\"" + pis[j].GetValue(IL[i], null) + "\""); if (j < pis.Length - 1) { Json.Append(","); } } Json.Append("}"); if (i < IL.Count - 1) { Json.Append(","); } } } Json.Append("]}"); return Json.ToString(); }