【发布时间】:2013-04-09 23:44:39
【问题描述】:
我正在尝试解析具有此代码的 JSON 文件:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
使用这个小脚本:
<script>
var obj = $.parseJSON("employe.json")
</script>
我只想使用 employees 对象,但出现此错误:
SyntaxError: JSON.parse: unexpected character @ http://code.jquery.com/jquery-1.9.1.min.js:3
我也用getJSON 尝试过同样的事情,但它也没有奏效。
getJSON 用于外部文件,parseJSON 用于 json 字符串?
【问题讨论】:
-
parseJSON将 json 字符串解析为对象。getJSON在内部使用parseJSON,因此它会自动进行解析。当您收到“意外字符”错误时,几乎总是因为 JSON 无效,并且存在不应该存在的字符。 -
我复制并粘贴了我的 JSON 文件,您看到任何错误吗?
-
您可以在 jsonlint.com 测试您的 json,错误控制台也应该告诉您是什么字符导致了问题。
-
您应该始终阅读文档。我猜如果你看过api.jquery.com/jQuery.parseJSON,你会看到它接受一个JSON 字符串,而不是一个URL。 api.jquery.com/jQuery.getJSON 也提供了一些例子,也许他们有帮助?
-
阅读我所说的,我已经假设 parseJSON 正在接受一个字符串。我使用 parseJSON 的原因是 getJSON 不起作用。但是感谢您的帮助!