Ruby: парсинг сложного хэша - PullRequest
0 голосов
/ 24 января 2010

У меня есть хеш, который проходит несколько уровней: http://gist.github.com/285350

Я пытаюсь перебрать каждую порцию, но продолжаю сталкиваться с несколькими ошибками nil [], хотя хэш не равен nil.

Например:

food_hash["food"]["servings"]

Возвращает ноль. []

Это может быть из-за того, что я наполовину сплю, но я, кажется, не могу приступить к «сервировке описания» ... может кто-нибудь помочь направить меня в правильном направлении?

Ответы [ 2 ]

3 голосов
/ 24 января 2010

Я не вижу, как добраться до "serve_description"

Обратите внимание, что (1) servings.serving является массивом, а (2) food не является ключом в хэше. Попробуйте вместо этого:

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

где f - хеш.

0 голосов
/ 24 января 2010

Это то, что вы пытаетесь сделать?

food_hash["servings"]["serving"][0]["serving_description"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...