2010-01-24 96 views
0

我有一个哈希深云多层次:http://gist.github.com/285350红宝石:解析复杂的哈希

我试图遍历各服,但我一直运行到多个零[]错误,即使哈希不为零。

例如:

food_hash["food"]["servings"] 

返回nil []

这可能是因为IM半睡眠状态,但我似乎无法踏踏实实地“serving_description” ......任何人都可以帮忙。把我放在正确的方向?

+1

我应该假设您的缺失双引号是复制中的错误,并且不存在于您的实际代码中?请参阅问题中提供的单行内容。 – Matchu 2010-01-24 18:29:42

+1

我没有看到关键的“食物”在那个要点的任何地方。 – Ben 2010-01-24 18:30:35

+0

作者:固定,谢谢 本:对不起,我列出了一些散列,因为它很长。 它实际上开始于{“food”=> {“food_name”=>“培根”...等 – dMix 2010-01-24 18:32:39

回答

3

我看不到踏踏实实地 “serving_description”

注:(1)servings.serving是一个数组,和(2)food是不是在哈希的关键。试试这个:

f["servings"]["serving"][0]["serving_description"] 
=> "1 thin slice (yield after cooking)" 

其中f是散列。

+0

谢谢你的工作。我知道这很简单。 – dMix 2010-01-24 18:41:18

0

这是你想要做的吗?

food_hash["servings"]["serving"][0]["serving_description"]