我正在返回JSON中用戶字段的響應。我正在創建JSON,如下所示。Ruby hash返回奇怪的值
def user_response(users)
users_array = []
users.each do |user|
uhash = {}
uhash[:id] = user.id,
uhash[:nickname] = user.nickname,
uhash[:online_sharing] = user.online_sharing,
uhash[:offline_export] = user.offline_export,
uhash[:created_at] = user.created_at,
uhash[:app_opens_count] = user.app_opens_count,
uhash[:last_activity] = user.last_activity,
uhash[:activity_goal] = user.activity_goal,
uhash[:last_activity] = user.last_activity,
uhash[:region] = user.region
users_array << uhash
end
users_array
end
但是,這個回答很奇怪。散列中的:id
鍵具有所有字段的數組不知道爲什麼。
{
"nickname": "adidas",
"online_sharing": null,
"offline_export": null,
"created_at": "2016-08-26T09:03:54.000Z",
"app_opens_count": 29,
"last_activity": "2016-08-26T09:13:01.000Z",
"activity_goal": 3,
"region": "US",
"id": [
9635,
"adidas",
null,
null,
"2016-08-26T09:03:54.000Z",
29,
"2016-08-26T09:13:01.000Z",
3,
"2016-08-26T09:13:01.000Z",
"US"
]
}
錯誤在下面提到,但它不是正確的方法來寫這個方法 –
問題在下面解釋,但如果它不清楚爲什麼'uhash [:id]'的值是一個數組,如果'uhash = {}; uhash [:id] = 1,2,3; uhash#=> {:id => [1,2,3]}'。在不同的行上分配'1,','2,和'3是沒有區別的。 –