我想在从数据库中获取数据时生成一个 JSON 对象。
def duration
return @data[:duration] unless @data[:duration].nil?
@data[:duration] = per_hour.collect do | val |
[val[0], val[1]]
end
end
我得到了我需要的数据,但数组不正确。我的观点如下:
var array = <%= raw @duration_data.to_json %>;
我的数组看起来像这样:
var array = [{"data": [[0,0],[1,60.0]] }];
但我需要的是:
var array = [{"data": {"0":0, "1":60.0} }];
最佳答案
您只需要将数组转换为哈希:
@data[:duration] = per_hour.collect do |val|
[val[0], val[1]]
end.to_h
对于 Ruby 1.9:
@data[:duration] = Hash[*per_hour.collect { |val| [val[0], val[1]] }]
关于javascript - Rails 生成 JSON 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31449578/