Как правильно распарсить json Sypexgeo в Rails?

Возможно вопрос очень глупый. Но я не смог вытащить исключительно только город из json (name_ru).
Как это правильно делать? Пытался сделать так

def location_city
    @remote_ip = request.remote_ip
    @result = Net::HTTP.get(URI.parse("http://api.sypexgeo.net/json/#{@remote_ip}"))
    @city = ?
  end


При запросе с ip возвращается json. Вида:
{
   "ip":"123.45.67.89",
   "city":{
      ...
      "name_ru":"Сеул",
      ...
   },
   "region":{
      ...
   },
   "country":{
      ...
   }
}
  • Вопрос задан
  • 2439 просмотров
Решения вопроса 2
@vsuhachev
@result = JSON.parse(@result)
@city = @result['city']
Ответ написан
viktorvsk
@viktorvsk
Ну, вопервых, в таком случае:
"http://api.sypexgeo.net/json/#{remote_ip}"
не хватает @ возле remote_ip
А если у вас @result содержит то, что вы указали в конце, то что возвращает:
@result["city"]["name_ru"]
?
Так же, попробуйте сделать:
raise @result.inspect
например.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы