JSON.parse:javascript中的JSON数据后出现意外的非空白字符

时间:2014-02-02 20:08:52

标签: javascript json highcharts

通过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。然而,我坚持我的错误(我搜索了一个解决方案,但没有为我的情况找到一个。) 谁在这里谁知道我做错了什么?

1 个答案:

答案 0 :(得分:27)

这是因为你正在使用JSON.parse来尝试解析一个不起作用的数组。只是摆脱JSON.parse,这应该按预期工作。

当您对不是字符串的内容调用JSON.parse时,它会通过调用.toString()将其强制转换为字符串。如果valpair = [1234567, 0],则valpair.toString()将产生123457,0(这可能取决于JS引擎:我在Chrome中获得123457,0。这是无效的JSON:“意外的非空白字符”是逗号。