如何使用ruby替换哈希中的元素?

时间:2016-04-06 01:07:31

标签: ruby json hash substitution

我有不确定键名和字段值的JSON哈希值,我希望在值中替换字符串或子字符串。例如:

{"COLLECTION"=>{"$"=>"biblestudy"}, "JSON"=>{"$"=>"{ \"type\" : \"reaction\", \"verse_reaction\": \"That our lives should be one of giving life\", \"verse_key\" : \"109dc58b8020681e\" }"}, "KEY"=>{"$"=>"key.verse_reaction"}, "REPLACE-KEY"=>{"$"=>"replace-key"}}

我可以将replace-key替换为存储在has {"replace-key" : "this is the replacement"}

中的值

我尝试了以下内容:

json_element.map { |k,v| v.map { |k1,v1| v1.replace_hash(hash={"hope" => "life" })} }

我创建replace_hash作为String的方法:

 def replace_hash(hash=nil)

  if hash.present?

    hash.each do | key, substitute |

      self.sub! key, substitute
    end

  end

1 个答案:

答案 0 :(得分:0)

json_element.map { |k,v| v['$'].replace_hash(hash = @replace_hash) }

我玩弄了上述内容并开始工作。