Heim >Web-Frontend >js-Tutorial >jqeury eval将字符串转换json的方法_jquery

jqeury eval将字符串转换json的方法_jquery

WBOY
WBOYOriginal
2016-05-16 18:11:261137Durchsuche

前台页面

复制代码 代码如下:

$.ajax({
type: "post",
contentType: "application/json",
url: "../WebForm1.aspx/GetRightsStr",
dataType: "json",
success: function (msg) {
alert(msg.d);
var data = eval("(" + msg.d + ")");
$.each(data.rights, function (index, item) {
alert(item.RightsName);
});
},
error: function (e, s, d) {
alert(e);
alert(s);
alert(d);
}
});

后台方法:
复制代码 代码如下:

///
/// DataTable转成Json
///

/// josn名称
/// 要转换的数据集
///
public static string DataTableToJson(string jsonName, DataTable dt)
{
StringBuilder Json = new StringBuilder();
Json.Append("{\"" + jsonName + "\":[");
if (dt.Rows.Count > 0)
{
for (int i = 0; i {
Json.Append("{");
for (int j = 0; j {
Json.Append("\"" + dt.Columns[j].ColumnName.ToString() + "\":\"" + dt.Rows[i][j].ToString() + "\"");
if (j {
Json.Append(",");
}
}
Json.Append("}");
if (i {
Json.Append(",");
}
}
}
Json.Append("]}");
return Json.ToString();
}

这个方法是一个将DataTable转换成字符串的方法 。今天遇到的问题是 在 var data = eval("(" + msg.d + ")");
出错误 提示 是 缺少 } 这个方法有用了很多次了 不知道为什么出现这样的错误 。
找了半天,才发现 是数据的问题 在返回的字符串里 有 "\"这个字符, "\"具有转义的作用
所有会出现这个错误,晕啊,真实害苦我了 ,希望大家不要像我这样糊涂。
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn