我有以下的Ruby代碼組JSON數據爲月:返回Rails中通過分組多少數據
data = data.group_by { |d| d['Date'].to_date.strftime('%Y-%m') }
.collect { |k, v| {Date: k, Total: v.sum { |d| d['Total'].to_i }} }
因此,例如,它會改變:
{"Date":"2012-04-01 12:00:00","Total":"50"},
{"Date":"2012-04-01 13:00:00","Total":"50"},
{"Date":"2012-04-02 05:00:00","Total":"100"},
{"Date":"2012-04-02 06:00:00","Total":"100"}
分爲:
{"Date":"2012-04","Total":"300"}
但我想知道有多少天被分組到新的JSON中。
因此再次出現在我上面的例子中,我想回:
{"Date":"2012-04","Total":"300","Days":"2"}
編輯:我不小心以爲我想要的全部項目最初分組,但我已經編輯了這個問題,因爲我真的想知道,是月份的總天數(因爲有些月份可能沒有所有日期的數據,所以我想知道月份的完整程度)。
數據總是按小時顯示!所以不需要擔心分鐘或秒鐘。
變化'{日期:K,總:v.sum {| d | d ['Total'] .to_i}'到'{Date:k,Total:v.sum {| d | d ['Total']。to_i,Grouped:v.size}' – bjhaid
是的,只需加上計數 –