如何将哈希反转到字符串转换?

时间:2015-11-27 15:01:10

标签: ruby-on-rails ruby

我有简单的哈希并将其转换为字符串。

hash = {"description" => "test"}
=> {"description"=>"test"}

str = hash.to_s
=> "{\"description\"=>\"test\"}"

如何将此str再次转换为哈希?

2 个答案:

答案 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"}