我有不确定键名和字段值的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
答案 0 :(得分:0)
json_element.map { |k,v| v['$'].replace_hash(hash = @replace_hash) }
我玩弄了上述内容并开始工作。