Javascript JSON数据的问题
我对一些JSON数据有一个奇怪的问题Javascript JSON数据的问题,javascript,json,Javascript,Json,我对一些JSON数据有一个奇怪的问题 { "title" : "Counties", "data": [ { "Name": "Baker", "latlng": [ "44.65488,-118.42475", "44.64548,-118.38275", "44.62488,-118.34425",
{
"title" : "Counties",
"data": [
{
"Name": "Baker",
"latlng": [
"44.65488,-118.42475",
"44.64548,-118.38275",
"44.62488,-118.34425",
"0,0",
"1,0"
]
}
]
}
当我将.getJSON用于包含此数据的文件时,我得到了一个语法错误,但是如果我从latlng数组中取出最后两个条目,它将正常工作
我将JSON放在jsonlint.com的linter中,它说它是有效的JSON,但由于某种原因,chrome和firefox无法解析它
获取json文件的代码:
$(function() {
$.getJSON("json/counties.json", function(data){
console.log(data);
});
$(document).ajaxError(function(event, jqxhr, settings, exception){
console.log(exception);
});
});
从Chrome记录的异常
SyntaxError {}
以及从Firefox记录的异常
[15:07:33.965] (new SyntaxError("JSON.parse: unexpected non-whitespace character after JSON data", "http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js", 3))
据我所知,数据中JSON后面没有任何字符,这里是一个屏幕截图
您的代码对我来说运行良好,而且您显示的数据也很好,所以您的环境中一定发生了一些奇怪的事情 我建议的第一件事是在Fiddler或浏览器的“网络”选项卡中查看原始HTTP响应,看看是否有任何意外情况-可能是代理服务器将垃圾添加到数据或类似的内容中
如果没有,那么试着在二进制编辑器中打开你的
countries.json
文件,并在其中查找任何意外的字节,可能是不可见的,或者是一个奇怪的引号之类的。在您的示例中,这里的所有字符都是ASCII码,因此应该很容易发现任何不属于该字符的字符。它是有效的JSON,因此我们需要更多信息,例如您尝试解析它时使用的代码,以及您看到的错误。对我来说很好:。也许你不能正确处理最后两个条目。但是你需要发布你的代码,否则我们帮不了你。我在Chrome上试过这个,你在做其他事情吗?温度数据[0].latlng[1]“44.64548,-118.38275”温度数据[0].latlng[2]“44.62488,-118.34425”温度数据[0].latlng[2]“44.62488,-118.34425”温度数据[0].latlng[3]“0,0”温度数据[0].latlng[4]“1,0”因此在chrome中,请粘贴更多您正在使用的代码是的,这就是问题所在。Vagrant又做了一些奇怪的事情,并在一些文件的末尾添加了一些东西。