Ruby 如何访问字符串中的哈希
我正在读一个CSV文件。它包含一列,如下所示:Ruby 如何访问字符串中的哈希,ruby,Ruby,我正在读一个CSV文件。它包含一列,如下所示: {"doctype"=>"birthrecord", "records"=>[{"pagenum"=>"5", "recordId"=>"7", "tagGroups"=>[{"data"=>{"first"=>"given_name", "given_name"=>"Severiano ", "surname"=>"Bustamante"}}]}]} 将输出此列的标题。当我执行第[“Outp
{"doctype"=>"birthrecord", "records"=>[{"pagenum"=>"5", "recordId"=>"7", "tagGroups"=>[{"data"=>{"first"=>"given_name", "given_name"=>"Severiano ", "surname"=>"Bustamante"}}]}]}
将输出此列的标题。当我执行第[“Output”]行时,它返回散列的sting作为
"{"doctype"=>"birthrecord", "records"=>[{"pagenum"=>"5", "recordId"=>"7", "tagGroups"=>[{"data"=>{"first"=>"given_name", "given_name"=>"Severiano ", "surname"=>"Bustamante"}}]}]}"
如何像普通散列一样访问散列
有人能帮我吗。数据集看起来几乎像
JSON
,除了=>
被用来代替:
,因此替换它们,您现在可以像JSON
对象一样充分解析它
JSON.parse('{"doctype"=>"birthrecord", "records"=>[{"pagenum"=>"5", "recordId"=>"7", "tagGroups"=>[{"data"=>{"first"=>"given_name", "given_name"=>"Severiano ", "surname"=>"Bustamante"}}]}]}'.gsub("=>", ":"))["records"][0]["tagGroups"][0]["data"]
#=> {"first"=>"given_name", "given_name"=>"Severiano ", "surname"=>"Bustamante"}
我知道如果我说
eval
,我会被石头砸死(理由很充分),但是。。。你有多绝望?你对消息来源有多信任?可能是@JanDvorak的复制品,在那里使用eval正确吗?它可以工作,但是…在这个线程中似乎有一些可行的选项:我们需要查看您的代码和输入数据的示例。“列”不是CSV格式,而是一个哈希定义。OP需要澄清输入并显示显示的数据来自何处。它不是CSV格式的记录或字段。