【发布时间】:2012-06-16 15:01:36
【问题描述】:
我正在尝试使用 jQuery 解码 JSON。 这是我得到的(例如一个班级,这里有一个学生):
"{"Students":[{"Name":John,"Grade":17,}],"TotalClass":17,"TotalCount":1,}"
这就是我的工作:
$j.ajax({
type: 'POST',
url: 'class.aspx/getClass',
contentType: 'application/json; charset=utf-8',
dataType: 'json',
success: function (msg) {
$j.each(msg, function (index, element) {
alert(element.TotalClass);
});
},
});
警报中一直显示未定义(但我收到了正确的 JSON)。知道我做错了什么吗?
【问题讨论】:
-
这是服务器返回的实际 json 吗?此外,倒数第二行还有一个额外的逗号。
-
如果您收到您在 json 周围加上的引号,则无法解析。
-
这是服务器返回的 exact JSON 吗?因为它是无效的。
-
@dystroy 我的印象是你可以用引号解析 JSON,你只需要调用 JSON.parse(stringified_version);
-
我遇到了类似的问题 - JSON 响应没有被翻译成 JS 对象。原因很简单:我写的是
datatype而不是dataType......所以这些东西值得检查。