在ruby解析后更新json字符串

时间:2016-07-27 03:09:30

标签: ruby json parsing

我有一个JSON对象,我用ruby解析了它。现在我需要使用更改的值更新JSON对象。我需要使用新值" testing"更新JSON_STR。这可能听起来很愚蠢,但我没有达到目的。

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

1 个答案:

答案 0 :(得分:0)

将您尝试修改的文档存储为常量可能不是最佳操作,它会使事情变得更复杂,但可以完成。您只需要使用已修改对象的JSON序列化版本重新分配字符串的值:

JSON_STR.replace(JSON.dump(obj))

这只有在JSON_STR未被冻结且常量常数的情况下才有效,所以请注意是否有错误。

注意obj是一个非常可怕的变量名称。试着解释一下它是什么。即使entriesdocs在这里也更好。