ruby - 如何将哈希转换为字符串哈希?
问题描述
在这里,我有将哈希转换为字符串哈希的用例。
hash = {"make" => "tata", "year" => "2006"}
p hash.to_s
输出:
"{\"make\"=>\"tata\", \"year\"=>\"2006\"}"
预期输出应为字符串哈希,类应为字符串:
"{"make"=>"tata", "year"=>"2006"}"
解决方案
正如其他人所评论的那样,您实际上只需使用to_s
. 当你p
输入字符串时,你看到的是检查表示,如果字符串本身,当放入代码文件时将是你的原始字符串。
如果您想要额外证明该字符串是您想要的,只需评估结果字符串:
string = {"a" => "b"}.to_s
=> "{\"a\"=>\"b\"}"
rebuilt = eval string
=> {"a" => "b"}
rebuilt.class
=> Hash
rebuilt.keys[0].class
=> String
rebuilt.values[0].class
=> String