Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将JSON数据解析为C3.js图表的数组_Javascript_Json_C3.js - Fatal编程技术网

Javascript 将JSON数据解析为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

我正在以以下格式将一个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>
   {% 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]