在rails应用程序中,我试图将二维哈希存储在postgreSql hstore列中,但对于输出,我得到了类似的东西
{"6/5"=>"{\"color\"=>\"white\"}","8/1"=>"{"color\"=>\"white\"}"、"8/2"=>"{\"color\"=>\"white"}","8/3"=>"{\"colour\"=>\"white \"}"}。
我如何获得二维哈希作为输出,或者你可以为如何解析它提供一些建议?。
如果你需要将其转换为哈希,这里是你可以做的:
str = {"6/5"=>"{"color"=>"white"}", "8/1"=>"{"color"=>"white"}", "8/2"=>"{"color"=>"white"}", "8/3"=>"{"color"=>"white"}"}
p str.each_with_object({}){|(k,v),h| h[k] = eval(v)}
结果
要在sql数据库中存储哈希,可以使用字符串列并将此行添加到模型中:
serialize :my_hash_thingy
它应该在后台处理每一次序列化/反序列化,每次使用它时都会有正常的哈希。