2012-12-15 131 views
0

首先的访问数据,我在这里使用这个的Gemfile:嵌套哈希

https://github.com/ryanwkan/covetous

初始化

my_profile后=觊觎::档案:: Career.new“RWK#1242 “

我得到这样

http://pastebin.com/CcW0aaLL

012数组

当我试图访问它像这样

my_profile.heroes,它返回

[{"name"=>"Ziyi", "id"=>10692899, "level"=>60, "hardcore"=>false, "paragonLevel"=>87, "gender"=>1, "dead"=>false, "class"=>"wizard", "last-updated"=>1354337248}, {"name"=>"Aerendil", "id"=>5987778, "level"=>60, "hardcore"=>false, "paragonLevel"=>0, "gender"=>1, "dead"=>false, "class"=>"demon-hunter", "last-updated"=>1353389408}, {"name"=>"Bubba", "id"=>9177617, "level"=>60, "hardcore"=>false, "paragonLevel"=>11, "gender"=>0, "dead"=>false, "class"=>"witch-doctor", "last-updated"=>1352946041}, {"name"=>"Emma", "id"=>7153459, "level"=>60, "hardcore"=>false, "paragonLevel"=>0, "gender"=>1, "dead"=>false, "class"=>"monk", "last-updated"=>1347863170}, {"name"=>"Grumbar", "id"=>17793743, "level"=>60, "hardcore"=>false, "paragonLevel"=>0, "gender"=>0, "dead"=>false, "class"=>"barbarian", "last-updated"=>1352944313}, {"name"=>"BankerOne", "id"=>12215739, "level"=>1, "hardcore"=>false, "paragonLevel"=>0, "gender"=>1, "dead"=>false, "class"=>"monk", "last-updated"=>1351810350}] 

,如果我先走1步,并使用my_profile.heroes [0]它返回

{"name"=>"Ziyi", "id"=>10692899, "level"=>60, "hardcore"=>false, "paragonLevel"=>87, "gender"=>1, "dead"=>false, "class"=>"wizard", "last-updated"=>1354337248} 

但是,我无法从上述结果中获取更多数据。

my_profile.heroes [0]。名称返回NoMethodError和my_profile.heroes [0] [0]返回 “无”

我是不是做错了?

在此先感谢

瑞安

+0

这是一个散列,你尝试使用散列语法吗? –

+0

@Dave --Hash = my_profile,然后hash [:heroes]返回NoMethodError –

+0

...'my_profile.heroes [0] ['name']',不确定你想用'hash [:heroes] '。 –

回答

0

这是一个散列;使用散列语法:

my_profile.heroes[0]['name'] 

除非有东西用存取方法包装散列,它只是一个散列。

+0

哇!简直不敢相信它!一直在寻找解决方案!谢谢! –