0

使用:

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
    }
}

問題は、日付キーが任意の日付値になる可能性があることです。

すべての値の合計が必要です。

4

2 に答える 2

3

Rails を使用している場合は、次のように使用できますEnumerable#sum

JSON.parse(response.read_body)["stats"].values.sum
于 2013-01-09T23:16:25.003 に答える
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(&:+)
于 2013-01-09T23:14:05.063 に答える