【发布时间】:2016-09-29 07:59:31
【问题描述】:
我是新手。
我正在使用 JSON 字符串。
我的 jquery 看起来像
var data1 = {};
data1.code = $("#ddlList option:selected").text(); //Taking dropdown list value
$.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.stringify(data);
var data = $.parseJSON(data);
$.each(data, function (i) {
$("#Table").append("<tr><td>" "</td></tr>");
});
我的GetData WebMethod 正在返回一个包含数据表数据的 JSON 字符串
{["\"id"\:"\"10001"\"\"name"\:"\"ABC"\]} //JSON string
包含以下内容
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); 返回上面的 JSON 字符串,但我想在成功函数中将此 JSON 字符串转换为服务器端的表
我检查了我的解决方案,我在成功函数中获得了字符串值。 我尝试了上面的 jquery 函数,但我想要表中的 JSON 字符串值(如何反序列化它以便获取表)
(我已经修改$("#Table").append("<tr><td>" "</td></tr>");)
【问题讨论】:
-
var data = JSON.stringify(data); var data = $.parseJSON(data);?data已经是一个对象 -
是的。这里的数据是
{["\"id"\:"\"10001"\"\"name"\:"\"ABC"\]}我不知道怎么解析。因为我想要 id 和 name 作为列,10001 和 ABC 作为 tr 数据 -
jQuery 会为您解析 JSON,以便成功函数中的
data参数已经是一个对象。您可以使用data[0].id访问数组中第一项的ID;名称将是data[0].name。 -
您是否验证了您在可变数据中获得的价值?并检查您在 data.d 中获得的价值
标签: javascript jquery asp.net json