2014-02-22 31 views
0

我正在閱讀CSV文件。它包含一列爲如何訪問字符串中的哈希值

{"doctype"=>"birthrecord", "records"=>[{"pagenum"=>"5", "recordId"=>"7", "tagGroups"=>[{"data"=>{"first"=>"given_name", "given_name"=>"Severiano ", "surname"=>"Bustamante"}}]}]} 

此列的標題是輸出。當我行[「輸出」]哈希其返回刺痛作爲

"{"doctype"=>"birthrecord", "records"=>[{"pagenum"=>"5", "recordId"=>"7", "tagGroups"=>[{"data"=>{"first"=>"given_name", "given_name"=>"Severiano ", "surname"=>"Bustamante"}}]}]}" 

如何訪問像普通的哈希散列?

任何人都可以幫助我。

+2

我知道如果我說'eval',我(有很好的理由)會被石頭打死,但是......你有多絕望,你有多相信源頭? –

+0

[在紅寶石解析]可能的重複(http://stackoverflow.com/questions/5608211/parsing-in-ruby) –

+0

@JanDvorak,是否正確的方式來使用eval那裏?它的作品,但... – user2986573

回答

1

數據集看起來幾乎像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"} 
+0

OP需要澄清輸入並顯示數據顯示的來源。這不是CSV格式的記錄或字段。 –