Javascript中的C3图表json数据格式

Javascript中的C3图表json数据格式,javascript,jquery,html,c3.js,Javascript,Jquery,Html,C3.js,我在一个简单的html页面中使用C3甜甜圈图表。当我使用以下代码时,图表加载不会出错: json : [{"Total Participants":4825},{"Male":3019},{"Female":1806},], keys : { value : ['Total Participants', 'Male', 'Female' ], } 但我必须使用javascript为“json”和“键”构建输入,这样它就不是静态的。注意,我不想在这里使用ajax。我只想构建输入 [{"To

我在一个简单的html页面中使用C3甜甜圈图表。当我使用以下代码时,图表加载不会出错:

json : [{"Total Participants":4825},{"Male":3019},{"Female":1806},],
keys : {
   value : ['Total Participants', 'Male', 'Female' ],
}
但我必须使用javascript为“json”和“键”构建输入,这样它就不是静态的。注意,我不想在这里使用ajax。我只想构建输入

[{"Total Participants":4825},{"Male":3019},{"Female":1806},]

使用javascript。下面是我尝试过的代码,但它不起作用

var keysChart = '[';
var chartJsonData = '[';

for (var i = 0; i < data.length; i++) {
    keysChart += data[i].title;
    if(i < data.length - 1) keysChart += ',';
    chartJsonData += '{';
        chartJsonData += data[i].title;
        chartJsonData += ':';
        chartJsonData += data[i].value;
        chartJsonData += '}';
        chartJsonData += ','
}

chartJsonData += ']';
keysChart += ']';
控制台中出现以下错误:

Uncaught TypeError: a.forEach is not a function

可能是名为valueData[i]的数组后面的逗号有问题。标题是什么?或者您想使用tableData[i].title?@AlexandruMihai很抱歉造成混淆。编辑了这篇文章。标题为[‘参与者总数’、‘男性’、‘女性’]。值被删除[4825301906]。但是仍然得到相同的异常@Alexandrumihai请告诉我数据的外观
json : chartJsonData,
keys : {
    value : keysChart,
}
Uncaught TypeError: a.forEach is not a function
var arrData = [];
var keysForChart = [];

var jsJsonObj = new Object();

for (var it = 0; it < data.length; it++) { // data from an external json file. 
   keysForChart.push(data[it].title);
   jsJsonObj[data[it].title] = data[it].value;
}

arrData.push(jsJsonObj);
c3.generate({
  bindto : '#chart',
  data : {
    json : arrData,
    keys : {
      value : keysForChart
    },
    type : 'bar'
  },
  .....
});