我有简单的哈希并将其转换为字符串。
hash = {"description" => "test"}
=> {"description"=>"test"}
str = hash.to_s
=> "{\"description\"=>\"test\"}"
如何将此str
再次转换为哈希?
答案 0 :(得分:3)
看起来您需要从JSON转换为哈希。 (见DOCS)。但是,当您执行to_s
时,输出不是纯JSON格式。因此,您可能会看到我使用gsub
将=>
替换为:
require 'json'
hash = {"description" => "test"}
=> {"description"=>"test"}
str = hash.to_s.gsub("=>", ":")
=> "{\"description\":\"test\"}"
JSON.parse(str)
=> {"description"=>"test"}
答案 1 :(得分:0)
您可以像这样使用eval
:
hash = {"description" => "test"}
=> {"description"=>"test"}
str = hash.to_s
=> "{\"description\"=>\"test\"}"
eval(str)
=> {"description"=>"test"}