javascript - 在 highcharts 中表达 json 对象

标签 javascript json node.js highcharts pug

我正在尝试使用从node.js发送的JSON数据填充jade(使用javascript)中的highchart。我通过在jade中添加JavaScript来做到这一点,这对于静态数据来说效果很好,如下所示:

var series =  [  
  {  
  name: 'Tokyo',  
  data: [7.0]  
  }
];

现在我想从 node.js 添加 JSON 数据。我实现了以下内容:

app.get('/chart', function(req,res){
var chartData = [
  {
  name: 'Tokyo',
  data: [7.0]
  }
  ];
  res.render('chart', {
    chart: chartData
  });
});

当我在控制台中打印chartData时,输出与静态数据相同。当我( Jade )镶嵌时
var series = '#{chart}' 我得到一个空的 Highcharts 。

问题似乎出在 Node js 的 JSON 上。 Highcharts 给出了与字符一样多的系列,这意味着 jade/javascript 没有正确解析 JSON,而是逐字符解析(每个字符都是新对象)。我已将 chartData 从 node.js 打印到我的控制台,显示以下内容:

[ { name: 'Tokyo', data: [ 7 ] } ]

我在我的 Node js文件中尝试了JSON.stringify,但这返回无效的JSON,如下所示:

var series = '[{"name":"Tokyo","data":[7]}]';

如何让我的图表能够使用从 node.js 返回的 JSON?

最佳答案

我想出了如何解决这个问题。在 Node js中:

var chartData = [];  
chartData.push({
          name: 'Tokyo'
          data: [7.0]
});

res.render('chart', {
  chart: chartData
});

在解析 JSON 时,我的错误出现在 Jade 中的 Javascript 中。以下解决了问题:

!{JSON.stringify(chart)}

关于javascript - 在 highcharts 中表达 json 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37397999/

相关文章:

c# - 从 Windows Phone 8 中的 URL 获取 JSON 字符串

javascript - Object.create(Function.prototype) => 创建继承属性的 Function

符合正则表达式的node.js/strings

javascript - 在幕后,Javascript 对象是哈希表吗?

javascript - 停止 AngularJS 即时搜索

Java - 循环遍历 JSONArray

java - Gson:如果元素类型是动态的,JSON 到 java 对象转换问题

mysql - 使用 mysql 循环获取特定列来添加其值会返回 NaN

javascript - 如何从回调中返回值

javascript - Spring Boot 与 microsoft sql server 的多数据库配置