我有一个JSON对象,我用ruby解析了它。现在我需要使用更改的值更新JSON对象。我需要使用新值" testing"更新JSON_STR。这可能听起来很愚蠢,但我没有达到目的。
require 'json'
obj = JSON.parse(JSON_STR)
obj.each do |doc|
doc["ref"] = "testing"
end
答案 0 :(得分:0)
将您尝试修改的文档存储为常量可能不是最佳操作,它会使事情变得更复杂,但可以完成。您只需要使用已修改对象的JSON序列化版本重新分配字符串的值:
JSON_STR.replace(JSON.dump(obj))
这只有在JSON_STR
未被冻结且常量常数的情况下才有效,所以请注意是否有错误。
注意obj
是一个非常可怕的变量名称。试着解释一下它是什么。即使entries
或docs
在这里也更好。