【问题标题】:Passing JSON in variable to HighCharts将 JSON 中的变量传递给 HighCharts
【发布时间】:2013-12-16 14:05:16
【问题描述】:
  function b(data){
           document.write(data);
          $('#graphContainer').highcharts(data);
      }

我需要将 JSON 传递给 .highcharts() API。

使用 document.write() 我已经打印出 data 的值是:

{"chart" : { "type" : "line"} , "title" : { "text" : "First Time Fix Rate"} , "xAxis" : { "title" : { "text" : "Time"} , "categories" : [ 2009.0 , 2010.0 , 2011.0 , 2012.0 , 2013.0]} , "yAxis" : { "title" : { "text" : "FTFR"}} , "plotOptions" : { "series" : { "cursor" : "pointer" , "point" : { "events" : { "click" :function () {alert (this.category+':' + this.y);}}}}} , "tooltip" : { "pointFormat" : "{series.name} produced {point.y:,.0f}
warheads in {point.x}"} , "series" : [ { "data" : [ 100.0 , 222.0 , 555.0 , 367.0 , 100.0]}]}

如果我手动将其放入

$('#graphContainer').highcharts(data);

删除空白,生成图形。但是如果想要动态生成图表,它会失败而没有任何 javascript 错误。

我尝试了 json2.js、JSON.parse 和 Stringify,但这并没有解决问题。我错过了什么吗?

如果我从我的客户端代码设置会话中的数据并使用 scriplet 即$('#graphContainer').highcharts(<%=session1.getAttribute("data")%>); 访问它,它工作正常。我想知道变量有什么问题?

我不能在这里使用会话。

【问题讨论】:

  • 如果你只是在document.write之前做data = data.replace(/ /g, '');
  • 你想要带有json数据的动态图表吗?

标签: javascript jquery json highcharts


【解决方案1】:

一般在 json 中你不能使用函数,所以会导致问题。

【讨论】:

    【解决方案2】:

    我从另一个来源的 json 数据创建了一个图表。但我所做的是,我以编程方式创建了系列数组,然后在 Highchart 图表的系列值中分配了该数组。不确定这是否对您有帮助。

    【讨论】:

    • jsp兄弟这里不能有模板
    • 我不知道它也像你展示的那样工作。对我来说新的学习。谢谢。 +1
    猜你喜欢
    • 2016-08-15
    • 2019-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-27
    • 2018-02-17
    • 1970-01-01
    • 2018-02-13
    相关资源
    最近更新 更多