ASP.NET输出Json格式数据
2015-05-06 15:46
369 查看
protected void Page_Load(object sender, EventArgs e) { //ASP.NET输出JSON格式数据示例 //1:自带的JavaScriptSerializer来生成JSON数据 IList<UserModels> UserList = new List<UserModels>(); for (int i = 0; i < 3; i++) { UserModels user = new UserModels(); user.userId = i + 1; user.userName = "ZhangSan"; user.userPass = "12345678"; UserList.Add(user); } JavaScriptSerializer ser = new JavaScriptSerializer(); String jsonStr = ser.Serialize(UserList); Response.Write(jsonStr); } namespace Systemjson { public class JsonHelper { /// <summary> /// 对象转JSON /// </summary> /// <param name="obj">对象</param> /// <returns>JSON格式的字符串</returns> public static string ObjectToJson(object obj) { JavaScriptSerializer jss = new JavaScriptSerializer(); try { return jss.Serialize(obj); } catch (Exception ex) { throw new Exception("JSONHelper.ObjectToJSON(): " + ex.Message); } } /// <summary> /// 数据表转键值对集合 /// 把DataTable转成 List集合, 存每一行 /// 集合中放的是键值对字典,存每一列 /// </summary> /// <param name="dt">数据表</param> /// <returns>哈希表数组</returns> public static List<Dictionary<string, object>> DataTableToList(DataTable dt) { List<Dictionary<string, object>> list = new List<Dictionary<string, object>>(); foreach (DataRow dr in dt.Rows) { Dictionary<string, object> dic = new Dictionary<string, object>(); foreach (DataColumn dc in dt.Columns) { dic.Add(dc.ColumnName, dr[dc.ColumnName]); } list.Add(dic); } return list; } /// <summary> /// 数据集转键值对数组字典 /// </summary> /// <param name="dataSet">数据集</param> /// <returns>键值对数组字典</returns> public static Dictionary<string, List<Dictionary<string, object>>> DataSetToDic(DataSet ds) { Dictionary<string, List<Dictionary<string, object>>> result = new Dictionary<string, List<Dictionary<string, object>>>(); foreach (DataTable dt in ds.Tables) result.Add(dt.TableName, DataTableToList(dt)); return result; } /// <summary> /// 数据表转JSON /// </summary> /// <param name="dataTable">数据表</param> /// <returns>JSON字符串</returns> public static string DataTableToJson(DataTable dt) { return ObjectToJson(DataTableToList(dt)); } /// <summary> /// JSON文本转对象,泛型方法 /// </summary> /// <typeparam name="T">类型</typeparam> /// <param name="jsonText">JSON文本</param> /// <returns>指定类型的对象</returns> public static T JsonToObject<T>(string jsonText) { JavaScriptSerializer jss = new JavaScriptSerializer(); try { return jss.Deserialize<T>(jsonText); } catch (Exception ex) { throw new Exception("JSONHelper.JSONToObject(): " + ex.Message); } } /// <summary> /// 将JSON文本转换为数据表数据 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据表字典</returns> public static Dictionary<string, List<Dictionary<string, object>>> TablesDataFromJson(string jsonText) { return JsonToObject<Dictionary<string, List<Dictionary<string, object>>>>(jsonText); } /// <summary> /// 将JSON文本转换成数据行 /// </summary> /// <param name="jsonText">JSON文本</param> /// <returns>数据行的字典</returns> public static Dictionary<string, object> DataRowFromJson(string jsonText) { return JsonToObject<Dictionary<string, object>>(jsonText); } } } namespace Systemjson { /// <summary> /// WebService1 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 // [System.Web.Script.Services.ScriptService] public class WebService1 : System.Web.Services.WebService { [WebMethod] public void HelloWorld() { UserModels user = new UserModels(); user.userId = 1; user.userName = "11"; user.userPass = "111"; Context.Response.Write(JsonHelper.ObjectToJson(user)); Context.Response.End(); //不需要返回值 //return JsonHelper.ObjectToJson(user); } } }
相关文章推荐
- ASP.NET Hashtable输出JSON格式数据
- ASP.NET Hashtable输出JSON格式数据
- ASP.NET输出JSON格式数据
- ASP.NET Hashtable输出JSON格式数据 - 贵源网络 - 博客园
- ASP.NET输出JSON格式数据
- Asp.Net开发的WebService输出JSON格式
- asp.net服务器处理浏览器提交json格式的数据
- ASP.Net Core 返回的json数据,自定义日期格式
- ASP.NET MVC上传文件成功返回Json格式数据弹出下载框解决方案
- asp.net和Jquery中详细解析json数据格式!(有实例)
- asp.net中Ajax技术使用Json格式传递数据
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- Asp.net实现无刷新调用后台实体类数据并以Json格式返回
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题
- Asp.net C# 使用Newtonsoft.Json 实现DataTable转Json格式数据
- Ajax发送json格式数据到Asp.net MVC服务端的一些代码片段
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式问题的方法
- asp.net中Jquery解析json数据格式
- asp.net(c#)快速生成Json格式的数据(JsonHelper)
- 解决Asp.net Mvc返回JsonResult中DateTime类型数据格式的问题