将数组数组转换为JSON

时间:2016-02-28 09:04:26

标签: arrays ruby json

我有一个数组数组,我想将其转换为json并在另一个数组中输出。我有以下数组:

weekdays = [["Monday",2],["Tuesday",4],["Thursday",5]]

我想将这个数组包含在JSON输出中,如下所示:

json_output = { :results => weekdays.count, :data => weekdays }

现在我得到了这个,这看起来并不正确,因为"数据"周围没有大括号。场...

{
    "results": 2,
    "data": [
        ["Monday", 2],
        ["Tuesday", 4],
        ["Thursday", 5]
    ]
}

任何帮助都会很棒!

2 个答案:

答案 0 :(得分:1)

输出正确。圆括号位于哈希周围,但您的数据属性是嵌套数组。

如果要将嵌套数组转换为哈希,只需在其上调用to_h

{ :results => weekdays.count, :data => weekdays.to_h }

答案 1 :(得分:0)

最好手动将其转换为哈希值。

weekdays = [["Monday",2],["Tuesday",4],["Thursday",5]]

hash_weekdays = Hash.new
weekdays.each do |item|
 hash_weekdays[item[0]] = item[1]
end

hash_weekdays #=> {"Monday"=>2, "Tuesday"=>4, "Thursday"=>5}