2

我正在用 JSON 解析以下字符串

http://jsfiddle.net/cjds/9mJbq/2/

当我运行它时,chrome 会引发以下错误Unexpected Token B

想不通。因为字符串是由 PHP json_encode 创建的,所以 JSON 应该没有问题。

我通过 JSONLint 运行它并且没有错误,所以 JSON 很好。

那么错误是什么?

4

2 回答 2

8

JSON.parse() 的参数应该是字符串。

因此,JSON.parse(["hello", "world"])是错误的。

它应该是JSON.parse("[\"hello\", \"world\"]")

我更新了jsfiddle。看看http://jsfiddle.net/9mJbq/3/

于 2012-12-09T17:26:42.960 回答
0

对于其他遇到此问题的人,如果您的 ajax 请求返回“错误请求”(错误 400)并且 json 解析器需要 json,则会发生此错误。例如:

const fetchSomething = url =>
    fetch(url).then(data => data.json());
于 2019-11-01T13:19:39.663 回答