我将嵌套的哈希存储在一个文件中,在检索它时,我想以哈希形式而不是字符串将其返回。当我读取一个文件时,它会给我一个字符串,然后我如何将其解析回哈希。 这是文件中的字符串哈希:
{"SONGS"=>{1=>["2018-05-29 18:19:14 +0530", "HAPPY", "Meri Sapnon Ki Rani"]}}
已经在 SO 中了。
警告安全风险!
对于您的字符串,您需要传递给eval
,但这是一个安全风险
string = '{"SONGS"=>{1=>["2018-05-29 18:19:14 +0530", "HAPPY", "Meri Sapnon Ki Rani"]}}'
p eval(string).class
如果您需要将数据结构存储在文件中,我建议您查看 YAML 模块。例如,看看这篇文章。
正如评论中所建议的:
- 还要考虑安全问题,看看这篇文章。
- 考虑稍微更改字符串语法以使用 JSON 结构。见下文。
JSON的使用:
require 'json'
json_string = '{"songs":{"1":{"date": "2018-05-29 18:19:14 +0530", "title":"HAPPY", "name":"Meri Sapnon Ki Rani"}}}'
p JSON::parse(json_string).class