哈希to_json:如何跳过密钥并仅列出JSON响应中的值?

时间:2013-02-14 14:45:51

标签: ruby-on-rails ruby json rails-activerecord

ActiveRecord查询的结果是一个哈希数组。如果我只是将其转换为JSON输出,则散列的键(DB列名称)将在每行的JSON结果中重复。例如。 Dailystats.all.to_json回复:

[
  {\"statisticsDate\":1360454400000,\"storageTopTempAvg\":48.6},
  {\"statisticsDate\":1360540800000,\"storageTopTempAvg\":49.0},
  {\"statisticsDate\":1360627200000,\"storageTopTempAvg\":48.4}
]

但是我想省略重复的列名,只得到这个:

[
  {1360454400000:48.6},
  {1360540800000:49.0},
  {1360627200000:48.4}
]

有一种简单的方法可以做到这一点,还是应该构建一个数据转换器?

1 个答案:

答案 0 :(得分:4)

您应该能够在将数据转换为json之前映射数据:

Dailystats.all.map {|item| {item[:statisticsDate] => item[:storageTopTempAvg]}}.to_json