[英]Why does this JSON.parse return error: “unexpected token illegal”?
我正在使用AJAX请求。 这是我第一次使用JSON或其任何方法。 ajax实用程序将一个参数作为我请求文件的responseText或responseXML返回到onreadystatechange回调。 使用简单的info.txt
和request.responseText
可以很好地工作,但是当我尝试info.js
和JSON.parse
时,如果我多次检查语法是否正确,它将返回“意外的令牌非法”。 这是JSON:
JSON:
{
first: 1,
second: 2
}
JSON.parse()
在语法上非常严格。 键/值对应采用以下形式:
string:value
因此,“第一个”和“第二个”应该是JSON对象中的字符串。 将您的JSON更改为以下代码,它应该是正确的
{
"first": 1,
"second": 2
}
您似乎已经在成功回调中使用了jQuery。 jQuery还具有执行AJAX请求的方法,例如$.ajax
使您的AJAX自定义函数非常无用。 就您而言,您似乎在请求一个不同于JSON的JavaScript文件(.js)。 所以:
(function() {
$.getScript('json.js', function(result) {
// TODO: do something with the result
});
})();
或JSON:
(function() {
$.getJSON('json.js', function(result) {
// TODO: do something with the result
});
})();
话虽如此,您仍然可以继续使用您的方法,但是如果您的json.js
不包含有效的JSON字符串, JSON.parse(e)
将始终失败。 要验证其是否包含有效的JSON字符串,您可以在http://jsonlint.com上对其进行验证
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.