![](/img/trans.png)
[英]Trouble loading data from JSON file into HTML table with js function
[英]Trouble loading a JSON file located on my computer
我正在使用AngularJS的http()
方法加载位于我的计算机上的JSON文件。 该文件的内容是:
{
"topics": [
{
"canonical": "Nebraska Football",
"alias": "NEB",
"score": 45,
},
{
"canonical": "Ohio State Football",
"alias": "OSU",
"score": 10,
}
]
}
当我加载文件(名为example.json)时,我在使用Firefox和Safari时收到错误消息: Error: JSON.parse: expected double-quoted property name
。 在Chrome中(正如预期的那样,由于其默认安全性),它只是简单的不起作用。
JSON最初在Firefox中正常加载,但在浏览器更新后它停止工作。
我这样称呼JSON:
$http.get("json/example.json").success(function(data) {
console.log(data);
});
我尝试使用Python的SimpleHTTPServer来运行网站,但它并没有什么区别。 如果有人对这里出了什么问题有任何猜测,我真的很感激帮助。 谢谢!
无效的Json尝试
{
"topics": [
{
"canonical": "Nebraska Football",
"alias": "NEB",
"score": 45
},
{
"canonical": "Ohio State Football",
"alias": "OSU",
"score": 10
}
]
}
如果您通过jsonlint.com运行JSON,则将错误指向},{
。 如果从那里向上看,你会看到尾随,
不应该在那里。 您的JSON应该是:
{
"topics": [
{
"canonical": "Nebraska Football",
"alias": "NEB",
"score": 45
},
{
"canonical": "Ohio State Football",
"alias": "OSU",
"score": 10
}
]
}
修改后的代码:从最后一项删除','可以解决您的问题
{
"topics": [
{
"canonical": "Nebraska Football",
"alias": "NEB",
"score": 45
},
{
"canonical": "Ohio State Football",
"alias": "OSU",
"score": 10
}
]
}
你的问题是,你有多余的,
正是你JSON。 修改如下:
{
"topics": [
{
"canonical": "Nebraska Football",
"alias": "NEB",
"score": 45
},
{
"canonical": "Ohio State Football",
"alias": "OSU",
"score": 10
}
]
}
JSON Lint是验证JSON的好地方。 它说,你应该删除逗号,
在每个数组元素的最终值之后。 所以"score":45,
应该是"score":45
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.