2
我從我的MongoDB數據庫(@bs
)獲取信息。 @bs
有很多我不感興趣的信息,所以我需要的是循環所有信息並用我需要的信息創建一個新對象。爲此,我創建了一個新數組(@final
),並且我正在獲取信息並將其添加到@final。信息似乎到達那裏,但是,當我將它轉換爲JSON時,它不是有效的JSON對象。我打算在@final.json
創建是這樣的:Rails 3:從數據數組創建一個有效的JSON對象
{ Something: [ {Email: "[email protected]", At: "date", ....}, {...}, ....] }
但是當我做to_json我得到[["At: date","Email: [email protected]","Message-id: .....
@bs = coll.find("headers.from" => email, "date" => {"$gte" => initial_date, "$lte" => Time.now.utc})
@bs = @bs.to_a.map { |obj| obj.delete("completo"); obj.delete("_id"); obj.delete("date"); obj.delete("headers" => "content_type"); obj }
@final = Array.new
@bs.each do |a|
elem = Array.new
elem << "At: #{a["date"]}"
elem << "Email: #{a["headers"]["to"]}"
elem << "Message: #{a["headers"]["message_id"]}"
elem << "Type: #{a["headers"]["status"]}"
@final << elem
end
puts @final
@final = @final.to_json
puts @final["Email"]
請幫助。
謝謝
謝謝。我這樣做,但後來我不能做@final = @ final.to_json放@final ['電子郵件'] - 它返回字符串「電子郵件」 – Donald 2011-05-13 11:09:45
將數組轉換爲'json'後,你有一個字符串。字符串上的'[]'運算符在字符串中查找匹配項,找到它。即使@final是數組,你也必須像'@ final.first [:Email]'那樣獲取某個數組對象的email值。 – 2011-05-13 11:13:17
因此,將其轉換爲JSON後,如果我想訪問文檔的成員,該怎麼辦? – Donald 2011-05-13 11:15:56