json前台解析list<实体>有关问题
json前台解析list<实体>问题
$.ajax({
type: "POST",
contentType: "application/json",
url: "gorg.aspx/select",
data: "{time:'" + date + "',grogid:'" + parastr + "'}",
dataType: 'json',
success: function (list) {
$(list.d).each(function () {
//alert(list.id, function (i, item) {
//alert(list.Id);
//$('#id1').append(this.toString() + " ");
//alert(list.d.join(" | ").grogid);
});
// jQuery.each(list.time, function (i, item) {
// alert(item.time + "," + item.grogid);
// });
}
});
------解决方案--------------------
什么问题?
list返回的什么内容,楼主要实现什么效果?
------解决方案--------------------
success: function (list) {
data = jQuery.parseJSON(list.d); /*这里是否解析要看后台返回的数据格式,如果不返回表名则无需要 parseJSON */
t = "<table border='1'>";
$.each( function (i, item) {
t += "<tr>";
t += "<td>" + item.UserId + "</td>";
t += "<td>" + item.UserName + "</td>";
t += "</tr>";
})
t += "</table>";
$("#result").html(t);
}
------解决方案--------------------
是自定义的
完整的例子,可以直接拷贝粘贴运行的,。需要.net 3.5之后的版本
$.ajax({
type: "POST",
contentType: "application/json",
url: "gorg.aspx/select",
data: "{time:'" + date + "',grogid:'" + parastr + "'}",
dataType: 'json',
success: function (list) {
$(list.d).each(function () {
//alert(list.id, function (i, item) {
//alert(list.Id);
//$('#id1').append(this.toString() + " ");
//alert(list.d.join(" | ").grogid);
});
// jQuery.each(list.time, function (i, item) {
// alert(item.time + "," + item.grogid);
// });
}
});
------解决方案--------------------
什么问题?
list返回的什么内容,楼主要实现什么效果?
------解决方案--------------------
success: function (list) {
data = jQuery.parseJSON(list.d); /*这里是否解析要看后台返回的数据格式,如果不返回表名则无需要 parseJSON */
t = "<table border='1'>";
$.each( function (i, item) {
t += "<tr>";
t += "<td>" + item.UserId + "</td>";
t += "<td>" + item.UserName + "</td>";
t += "</tr>";
})
t += "</table>";
$("#result").html(t);
}
------解决方案--------------------
是自定义的
完整的例子,可以直接拷贝粘贴运行的,。需要.net 3.5之后的版本
- HTML code
<%@ Page Language="C#" EnableViewState="false" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <script src="jquery-1.7.1.min.js" type="text/javascript"></script> <script type="text/javascript"> $.ajax({ type: "POST", contentType: "application/json", url: "b.aspx/select",/* 对应后台的方法 */ data: "{time:'传入参数1',grogid:'传入参数2'}", dataType: 'json', success: function (list) { jsonData = jQuery.parseJSON(list.d); var t = "<table border='1'>"; $(jsonData).each(function (i, item) { t += "<tr>"; t += "<td>" + item.Name + "</td>"; t += "<td>" + item.Url + "</td>"; t += "</tr>"; }); t += "</table>"; $("#div2").html(t); }, error: function (err) { alert(err.responseText) } }); </script> </head> <script runat="server"> //定义例子实体类 // <summary> /// 类对象需要标记为DataContractAttribute /// </summary> [System.Runtime.Serialization.DataContract] public class MengxianHui { //成员需要标记为 DataMember [System.Runtime.Serialization.DataMember] public string Name { set; get; } [System.Runtime.Serialization.DataMember] public string Url { set; get; } } public static string ObjectToJson(object obj) { System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(obj.GetType()); using (System.IO.MemoryStream ms = new System.IO.MemoryStream()) { serializer.WriteObject(ms, obj); StringBuilder sb = new StringBuilder(); sb.Append(Encoding.UTF8.GetString(ms.ToArray())); return sb.ToString(); } } [System.Web.Services.WebMethod] public static string select(string time, string grogid) { //构造实体类集合 List<MengxianHui> l = new List<MengxianHui>(); l.Add(new MengxianHui() { Name = "aaa" + time, Url = "ccc" + grogid }); l.Add(new MengxianHui() { Name = "测试Name", Url = "测试 Url" }); return ObjectToJson(l); } protected void Page_Load(object sender, EventArgs e) { } </script> <body> <form id="form1" runat="server"> <div id="div2"></div> </form> </body> </html>