Проблема в разборе ответа Json в ruby - PullRequest
0 голосов
/ 06 июня 2011
  @response = Typhoeus::Request.get(FOUR_SQUARE_API_SERVER_ADDRESS+'search?ll=' + current_user.altitude.to_s + "&query="+ params[:query] + FOUR_SQUARE_API_ACESS_CODE)
   @venues = ActiveSupport::JSON.decode(@response.body)
   @venues['response']['groups'][0]['items'].each do |venue|
     venue['name']  //working
      venue['name']['location'][0]['address']  //issues
     venue['name']['categories'][0]['id']  //issues
   end 

Пожалуйста, проверьте встроенные комментарии на наличие проблем.

enter image description here

1 Ответ

2 голосов
/ 06 июня 2011

Прежде всего, venue['name'] - это скаляр, а не массив;во-вторых, venue['location'] (к которому, я думаю, вы пытаетесь получить доступ) не кодируется как массив, это просто объект:

location: {
    address: "...',
    city: "...",
    // ...
}

Итак, вы хотите:

venue['location']

Тогда ваш venue['name']['categories'][0]['id'] потерпит неудачу, потому что, опять же, venue['name'] является скаляром;для этого вы хотите:

venue['categories'][0]['id']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...