2016-07-27 47 views
0

我有一個JSON對象,並且我用ruby解析了它。現在我需要用更改的值更新JSON對象。我需要用新值「testing」來更新JSON_STR。這聽起來可能很愚蠢,但我沒有做到。在ruby解析後更新json字符串

require 'json' 
obj = JSON.parse(JSON_STR) 
obj.each do |doc| 
    doc["ref"] = "testing" 
end 

回答

0

存儲你想修改爲一個常數可能不是最好的移動文檔,它使事情變得更加複雜,但它可以做到的。你只需要使用修改後的對象的JSON序列化版本重新分配字符串的值:

JSON_STR.replace(JSON.dump(obj)) 

如果JSON_STR不凍結這隻會工作,和常量經常,所以看出來,如果你得到錯誤。

作爲說明obj是一個非常可怕的變數名稱。嘗試並解釋它是什麼。即使是entriesdocs在這裏也比較好。