通过 Firebug 调试我的 highcharts javascript 代码时出现此错误。以下是相关的代码行:
var valpair = [parseInt(items[0]),cumulative];
rain_series.data.push(JSON.parse(valpair));
items[0] 只是 "1234567",如果我将 console.log(valpair) 添加到我的代码中,我得到此输出:[1234567, 0] 这似乎是有效的 JSON。尽管如此,我仍然坚持我的错误(我搜索了一个解决方案,但没有找到适合我的情况)。
这里有人知道我做错了什么吗?
最佳答案
这是因为您正在使用 JSON.parse 来尝试解析一个数组,这是行不通的。只需删除 JSON.parse,这应该会按预期工作。
当您对不是字符串的内容调用 JSON.parse 时,它会通过调用 .toString() 将其强制转换为字符串。如果 valpair = [1234567, 0],则 valpair.toString() 将产生 123457,0(这可能取决于JS 引擎:我在 Chrome 中得到 123457,0)。这是无效的 JSON:“意外的非空白字符”是逗号。
关于javascript - JSON.解析 : unexpected non-whitespace character after JSON data in javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21515583/