ASP.NET DataSet查询结果转换为JSON格式数据
2015-01-23 12:17
696 查看
欢迎大家进QQ群来讨论:84479667 方法如下: public static string nulldata = "{\"result\":\"true\",\"msg\":\"没有相关数据\"}"; #region 查询结果转为json /// <summary> /// 查询结果转为json /// </summary> /// <param name="dt"></param> /// <param name="count"></param> /// <returns></returns> public static string GetDataToJSON(DataTable dt, int count = 0) { JavaScriptSerializer jss = new JavaScriptSerializer(); System.Collections.ArrayList dic = new System.Collections.ArrayList(); if (dt != null && dt.Rows.Count > 0) { if (count == 0) { count = dt.Rows.Count; } foreach (DataRow dr in dt.Rows) { System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>(); foreach (DataColumn dc in dt.Columns) { //string dcvalue = Common.PageBase.delhtml(dr[dc.ColumnName].ToString()); drow.Add(dc.ColumnName, dr[dc.ColumnName]); } dic.Add(drow); } //bool result = true; string JsonString = jss.Serialize(dic); string p = @"\\/Date\((\d+)\)\\/"; MatchEvaluator matchEvaluator = new MatchEvaluator(ConvertJsonDateToDateString); //MatchEvaluator img_urlEvaluator = new MatchEvaluator(GetImgUrl); Regex reg = new Regex(p); //Regex img_url = new Regex("src=\\\\\"(.*?)\""); //Regex img_url = new Regex("src=\"(.*?)\""); JsonString = reg.Replace(JsonString, matchEvaluator); //JsonString = img_url.Replace(JsonString, img_urlEvaluator); return "{\"result\": \"true\"" + "," + "\"rows\":" + count + "," + "\"msg\":" + JsonString + "}"; } else { return nulldata; } } #endregion /// <summary> /// 将Json序列化的时间由/Date(1294499956278+0800)转为字符串 /// </summary> /// <param name="m"></param> /// <returns></returns> private static string ConvertJsonDateToDateString(Match m) { string result = string.Empty; DateTime dt = new DateTime(1970, 1, 1); dt = dt.AddMilliseconds(long.Parse(m.Groups[1].Value)); dt = dt.ToLocalTime(); result = dt.ToString("yyyy-MM-dd HH:mm:ss"); return result; } public string CreateJsonParameters(DataTable dt, int count = 0) { if (dt == null || dt.Rows.Count == 0) { return nulldata; } if (count == 0) { count = dt.Rows.Count; } bool result = true; StringBuilder JsonString = new StringBuilder(); //Exception Handling if (dt != null && dt.Rows.Count > 0) { JsonString.Append("{ "); JsonString.Append("\"result\":" + result + "," + "rows:" + count + "," + "msg:[ "); for (int i = 0; i < dt.Rows.Count; i++) { JsonString.Append("{ "); for (int j = 0; j < dt.Columns.Count; j++) { if (j < dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\","); } else if (j == dt.Columns.Count - 1) { JsonString.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":" + "\"" + dt.Rows[i][j].ToString() + "\""); } } /*end Of String*/ if (i == dt.Rows.Count - 1) { JsonString.Append("} "); } else { JsonString.Append("}, "); } } JsonString.Append("]}"); return JsonString.ToString(); } else { return null; } }
相关文章推荐
- Asp.net 将DataTable 或者DataSet 转换为Json 格式
- ASP.NET中实现把Json数据转换为ADO.NET DataSet对象
- json格式数据,将数据库中查询的结果转换为json, 然后调用接口的方式返回json(方式一)
- ASP.NET中实现把Json数据转换为ADO.NET DataSet对象
- asp.net mvc linq to entity 查询指定列的数据以json字符串格式返回数据
- Asp.net/Jquery/JS中各种数据转换为【JSON数据格式】的类!(相当好,转)
- json格式数据 ,将数据库中查询的结果转换为json(方式2)
- Hibernate数据查询结果转json格式
- 使用Jquery提交Json格式的数据到Asp.net程序的另类做法.
- ASP.NET 读取Json格式数据
- xml json两种数据格式后台的封装(asp.net)
- 讲解asp.net中Jquery解析json数据格式相关知识
- Asp.net无刷新调用后台实体类数据并以Json格式返回
- Asp.Net使用DataSet查询数据库数据
- asp.net和Jquery中详细解析json数据格式!(有实例)
- 使用Jquery提交Json格式的数据到Asp.net程序的另类做法
- asp.net中Jquery解析json数据格式
- dataset数据转换成json的格式(转)
- array grid的简单使用.根据官方示例改写(asp.net).json数据格式.
- asp.net DataTable和Dataset序列化成Json格式