2016-03-15 148 views
3

我正在使用Ruby on Rails。我有JSON對象像這樣在我的數據庫:將值添加到Ruby JSON對象

{"data":[ 
    {"name":"A", "available":"1"}, 
    {"name":"B", "available":"0"} 
]} 

我希望通過添加其他記錄更新此,它應該是這樣的:

​​

我怎樣才能做到這一點?

+0

這是另一個記錄來自哪裏? – shivam

+0

我根據用戶在我網站上的輸入創建的另一條記錄。 –

+0

這個東西有什麼特別的東西嗎?我認爲這只是一個基本的數組和散列操作,如果您已經使用了Ruby一段時間,您已經知道這一點。你提到「數據庫」,我想你可能想對它做些什麼 –

回答

5

你可以試試這個

json = { "data" => [ 
     {"name" => "A", "available" => "1"}, 
     {"name" => "B", "available" => "0"} 
     ]} 
json["data"].push({"name" => "C", "available" => "1"}) 
0

如果您正在使用ActiveRecord Serialize(或滑軌5屬性API),該值將已經被轉換成哈希值。

class Model 
serialize :some_field, JSON 
end 

record = Model.find(id) 

record.some_field ==> 
{"data":[ 
    {"name":"A", "available":"1"}, 
    {"name":"B", "available":"0"} 
]} 

record.some_field["data"] << {"name" => "C", "available" => "1"} 
record.save