似乎正在努力以正确的格式获取我的数据以用于高图表的饼图。
如果我按如下方式强制数据,则会出现我的图表,以便我知道我已经正确完成了集成:
data: [
['Test', 30],
['Other', 70],
]
但是当我尝试使用我的实际数据时,它不起作用。
我尝试了以下不起作用的方法:
data: <%= Location.browsers.map { |o| [o.type, o.count] }.inspect %>
还尝试过:
data: <%= Location.browsers.map { |o| "#{o.type}, #{o.count}" }.to_json %>
第一个给了我这样的结果:
"[["Safari", 6448], ["Microsoft", 5253], ["Microsoft-CryptoAPI", 5185], ["Dalvik", 3870], ["Chrome", 3701], ["Mozilla", 3239], ["Android", 2285], ["Windows-Update-Agent", 2018], ["Internet Explorer", 1843], ["Firefox", 1459]]"
看起来还可以。
运行此查询的正确方法是什么?
data: <%= raw Location.browsers.map { |o| [o.type, o.count] } %>
或
data: <%= raw Location.browsers.map { |o| [o.type, o.count] }.to_s %>
应该工作。
I
"[["A", 10], ["B", 30], ["C", 0], ["D", -10]]"
第二
[["A", 10], ["B", 30], ["C", 0], ["D", -10]]
I 和 II 不一样
I 是 String
,而 II 是 JavaScript Array<Array<Object>>
在您的情况下,第一个是第二个的stringify
-ed版本。您只需要执行与此相反的过程,即可使用$.parseJSON()
或JSON.parse()
从String
中取回Array
我没有 Ruby 的第一手经验,但我的猜测是这样的事情可以完成这项工作
data: $.parseJSON(<%= Location.browsers.map { |o| [o.type, o.count] }.inspect %>)
将字符串数据解析为 JSON @ jsFiddle