2012-10-09 76 views
1

我是新來的鐵軌,我想讀一個JSON的uri。我可以閱讀這些信息,但我不知道如何訪問json文件的子頁面。我這樣做:如何使用rails讀取JSON子級?

resp = Net::HTTP.get_response(URI.parse(uri)) 

parsedresp = JSON.parse(resp.body) 

我得到的答案遵循信息:

{"success"=>true, "data"=>[{"id"=>1, "public_id"=>1, "company_id"=>60861, "user_id"=>{"value"=>74138, "name"=>"Daniel Galvao"}}]} 

當我使用parsedresp["data"]我得到的信息:

[{"id"=>1, "public_id"=>1, "company_id"=>60861, "user_id"=>{"value"=>74138, "name"=>"Daniel Galvao"}}] 

我的問題是,我不不知道如何獲取信息「name」=>「Daniel Galvao」以存儲在數據庫中。有人能幫我嗎?提前致謝!

回答

0

parsedresp["data"]的值是數組,因此要獲得它的值,則必須將它傳遞(對於第一和唯一的元件[0])的索引:

parsedresp["data"][0] 
#=> {"id"=>1, "public_id"=>1, "company_id"=>60861, "user_id"=>{"value"=>74138, "name"=>"Daniel Galvao"}} 

爲了獲得用戶數據,通過這哈希散列user_id關鍵:

parsedresp["data"][0]["user_id"] 
#=> {"value"=>74138, "name"=>"Daniel Galvao"} 

如果你想獲得用戶的名稱,然後:

parsedresp["data"][0]["user_id"]["name"] 
#=> "Daniel Galvao" 
+0

它的工作!非常感謝你!!! –

+0

不客氣!如果您對此感到滿意,請將此標記爲答案。 –