如何用rails读取JSON子级?

时间:2012-10-09 01:11:27

标签: ruby-on-rails-3

我是rails的新手,我正在尝试阅读JSON uri。我可以阅读信息,但我不知道如何访问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”存储在DB中。有人能帮我吗?提前谢谢!

1 个答案:

答案 0 :(得分:0)

parsedresp["data"]的值是一个数组,因此要获取其值,必须为第一个且唯一的元素传递一个索引([0]):

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

要获取用户数据,请将此{#1}}哈希键传递给该哈希:

user_id

如果您想获取用户名,请:

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