我已经尝试了几个小时但找不到解决方案。
我正在尝试构建一个jqplot dateaxisrender图。
从mvc控制器我们得到这样的字符串:
return Json(new { grdYTicks, grdGrphPoints, grdXTicks, metricYTicks, metricXTicks, metricBrkDwnGrid, metricLegends, overVwData },
JsonRequestBehavior.AllowGet
);
对于grdGrphPoints,我们得到如下数据:
grdGrphPoints = "["08/19",17]|["08/21",31]|["08/26",6]|["09/09",40]|["09/23",21]|["09/26",21]|["10/07",19]|["10/10",1]|["10/22",1]"
这些是我们必须提供给jqplot的所有数据点。 我需要把这个字符串放到数组变量中:
var obj = [["08/19",17]|["08/21",31]|["08/26",6]|["09/09",40]|["09/23",21]|["09/26",21]|["10/07",19]|["10/10",1]|["10/22",1]]
我尝试过:
var obj = [jQuery.parseJSON(graphData["grdGrphPoints"])];
但这是错误的,
SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data
我无法将字符串转换为数组。
有些人可以紧急提出建议吗?提前多多感谢....
答案 0 :(得分:0)
你的grdGrphPoints变量实际上应该包含这种形式的字符串:
grdGrphPoints = "[[\"08/19\",17],[\"08/21\",31],[\"08/26\",6],[\"09/09\",40],[\"09/23\",21],[\"09/26\",21],[\"10/07\",19],[\"10/10\",1],[\"10/22\",1]]"
然后你必须从
中删除方括号 var obj = [jQuery.parseJSON(graphData["grdGrphPoints"])];
然后看起来像
var obj = jQuery.parseJSON(graphData["grdGrphPoints"]);