首页 > 解决方案 > 如何将哈希转换为字符串哈希?

问题描述

在这里,我有将哈希转换为字符串哈希的用例。

hash = {"make" => "tata", "year" => "2006"}
p hash.to_s

输出:

"{\"make\"=>\"tata\", \"year\"=>\"2006\"}"

预期输出应为字符串哈希,类应为字符串:

"{"make"=>"tata", "year"=>"2006"}"

标签: ruby

解决方案


正如其他人所评论的那样,您实际上只需使用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


推荐阅读