我是新手。
我正在使用JSON字符串。
我的jquery看起来像
GetData
我的 {["\"id"\:"\"10001"\"\"name"\:"\"ABC"\]} //JSON string
WebMethod返回一个包含数据表数据的JSON字符串
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
包含以下
return serializer.Serialize(rows);
$("#Table").append("<tr><td>" "</td></tr>");
返回JSON字符串以上,但我想在成功函数中将此JSON字符串转换为服务器端的表
我检查了我的解决方案,我在成功函数中获得字符串值。 我尝试了上面的jquery函数,但我想在表中使用JSON字符串值(如何反序列化以获取表)
(我已修改.has-error {
border-bottom: 2px solid red;
}
)
答案 0 :(得分:0)
使用JSON.parse
解析数据,然后在$.each
中使用两个参数i,v其中i
是索引,v
是对象并访问您的值v.id
和v.name
。要指定哪个列表示仅将表格的标题指定为$('#Table').append("<th><td>ID</td><td>NAME</td></th>");
$.ajax({
type: "POST",
url: "Default.aspx/GetData",
data: JSON.stringify(data1),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
var data = JSON.parse(data);
$('#Table').append("<th><td>ID</td><td>NAME</td></th>");
$.each(data.d, function (i, v) {
var str = "<tr><td>" + v.id +"</td><td>" + v.name + "</td></tr>";
$("#Table").append(str);
});
});
&#13;