【发布时间】:2016-09-17 08:34:32
【问题描述】:
我在 Ruby 中有这些数据,用于使用 Highcharts.js 创建条形图,需要 JSON 格式的数据:
data = {["January", "a"]=>54, ["January", "b"]=>13, ["January", "d"]=>2, ["January", "c"]=>1,
["February", "a"]=>27, ["February", "b"]=>11, ["February", "c"]=>4, ["March", "a"]=>22,
["March", "b"]=>11, ["March", "d"]=>2, ["March", "c"]=>2, ["April", "a"]=>32,
["April", "b"]=>12, ["April", "d"]=>6, ["April", "c"]=>2, ["May", "a"]=>7,
["May", "d"]=>3, ["June", "a"]=>5, ["July", "a"]=>25,
["August", "a"]=>23, ["August", "d"]=>3, ["August", "c"]=>3, ["September", "a"]=>6}
数据存储在变量中,并非来自文件。
我想将其转换为 json 对象以将其发送到 Highcharts 进行制图。我需要以下格式的数据:
category = ["January","February","March","April","May","June","July","August","September"]
series: [{
name: 'a',
data: [54, 27, 22, 32, 7, 5, 25, 23, 6]
}, {
name: 'b',
data: [13, 11, 11, 12, 6, 0, 0, 0, 6]
}, {
name: 'c',
data: [1, 4, 0, 2, 0, 0, 0, 3, 6]
},
{
name: 'd',
data: [2, 0, 0, 6, 3, 0, 0, 3, 6]
}]
数据丢失了几个月,有时不按字母顺序排列。
在 Ruby 中是否有一种简单的方法可以取消列出原始 Hash,然后从中提取信息,同时用 0 填充缺失值,并根据需要获取 JSON 输出?
附言:尝试转换 data.to_json 但 highcharts 不接受原始形式。有没有其他方法可以在 Highcharts 中使用这些数据创建条形图?
【问题讨论】:
标签: ruby-on-rails json ruby ruby-on-rails-4 highcharts