使用:
JSON.parse(response.read_body)
返回此哈希:
{
"stats": {
"2012-10-31": 2637,
"2012-10-30": 2873,
"2012-12-14": 2894,
"2012-12-08": 2906,
"2012-12-09": 3357,
"2012-11-30": 4959
}
}
问题是Date键可以是任何日期值。
我想要所有值的总和。
答案 0 :(得分:3)
您可以使用Ruby Enumerable的reduce
方法。我的示例中没有进行任何错误处理,但如果这些数据来自API,您可能需要处理错误或缺失的数据。
JSON.parse(response.read_body)["stats"].reduce 0 do |memo, kvp|
memo + kvp.last
end
编辑:
选项2更多忍者:
JSON.parse(response.read_body)["stats"].values.reduce(&:+)
答案 1 :(得分:3)
如果您使用的是Rails,则可以使用Enumerable#sum
:
JSON.parse(response.read_body)["stats"].values.sum