我正在用 JSON 解析以下字符串
http://jsfiddle.net/cjds/9mJbq/2/
当我运行它时,chrome 会引发以下错误Unexpected Token B
。
想不通。因为字符串是由 PHP json_encode 创建的,所以 JSON 应该没有问题。
我通过 JSONLint 运行它并且没有错误,所以 JSON 很好。
那么错误是什么?
我正在用 JSON 解析以下字符串
http://jsfiddle.net/cjds/9mJbq/2/
当我运行它时,chrome 会引发以下错误Unexpected Token B
。
想不通。因为字符串是由 PHP json_encode 创建的,所以 JSON 应该没有问题。
我通过 JSONLint 运行它并且没有错误,所以 JSON 很好。
那么错误是什么?
JSON.parse() 的参数应该是字符串。
因此,JSON.parse(["hello", "world"])
是错误的。
它应该是JSON.parse("[\"hello\", \"world\"]")
我更新了jsfiddle。看看http://jsfiddle.net/9mJbq/3/
对于其他遇到此问题的人,如果您的 ajax 请求返回“错误请求”(错误 400)并且 json 解析器需要 json,则会发生此错误。例如:
const fetchSomething = url =>
fetch(url).then(data => data.json());