Javascript 将JSON数据解析为C3.js图表的数组
我正在以以下格式将一个json变量从django发送到C3.js:Javascript 将JSON数据解析为C3.js图表的数组,javascript,json,c3.js,Javascript,Json,C3.js,我正在以以下格式将一个json变量从django发送到C3.js: { datetime.date(2015, 5, 1): 22792461.479999978, datetime.date(2015, 6, 1): 24807797.38999998, datetime.date(2015, 7, 1): 25261456.609999962 } 我需要提取这些值并将它们编译成一个数组,以供c3.js使用。这是我的剧本: <script> {% in
{
datetime.date(2015, 5, 1): 22792461.479999978,
datetime.date(2015, 6, 1): 24807797.38999998,
datetime.date(2015, 7, 1): 25261456.609999962
}
我需要提取这些值并将它们编译成一个数组,以供c3.js使用。这是我的剧本:
<script>
{% include "croydon_dashboards/dashboard_includes/gb_locale.html" %}
var row_value = {{ row_value }};
var sum_list = [];
for(var i in row_value)
sum_list.push(row_value[i])
sum_list = JSON.stringify(sum_list);
var chart = c3.generate({
data: {
columns: [
sum_list
],
type: 'bar'
},
bar: {
width: {
ratio: 0.5
}
}
});
</script>
{%include“croydon_dashboards/dashboard_include/gb_locale.html”%}
var row_value={{row_value}};
var sum_list=[];
用于(第i行的var_值)
求和列表推送(行值[i])
sum_list=JSON.stringify(sum_list);
var图表=c3.0({
数据:{
栏目:[
汇总表
],
类型:'bar'
},
酒吧:{
宽度:{
比率:0.5
}
}
});
将值硬编码到图表中是可行的,所以我知道c3.js是正确的,但是我构建数组的方式有一些问题
我知道这里有一个答案:
但是我不熟悉javascript,不知道如何解析我正在使用的json。您不需要json.stringify()将数据用于c3。但您可能需要对其进行JSON.parse()处理,使其看起来像这样:
var row_value = {
"2015-05-01": 22792461.479999978,
"2015-06-01": 24807797.38999998,
"2015-07-01": 25261456.609999962
};
不要忘记在数据数组的开头添加文本标签:
// This first value of array if the name of your data
var sum_list = ['something'];
剩下的代码可以正常工作
for(var i in row_value)
sum_list.push(row_value[i])
var chart = c3.generate({
data: {
columns: [
sum_list
],
type: 'bar'
},
bar: {
width: {
ratio: 0.5
}
}
});
请参见为什么要对列表进行字符串化
sum\u list=JSON.stringify(sum\u list)代码>?我不知道:(我只是想找到方法让这些值工作,但没有成功。@woodbine,使用提供的JSON,您应该生成什么?一行还是一列?我正试图用JSON中的值构建一个列表,如下所示:[22792461.479999978、24807797.38999998、25261456.6099962]