从json获取经度和纬度

时间:2017-07-18 00:23:33

标签: ruby-on-rails json

请告诉我,我怎么能得到lat&我的rails-app现在呢? -

#<HTTParty::Response:0x7fbda4055780 parsed_response={"ip"=>"74.125.232.229", "city"=>{"id"=>5375480, "lat"=>37.38605, "lon"=>-122.08385, "name_ru"=>"Маунтин-Вью", "name_en"=>"Mountain View", "name_de"=>"Mountain View", "name_fr"=>"Mountain View", "name_it"=>"Mountain View", "name_es"=>"Mountain View", "name_pt"=>"Mountain View", "okato"=>"", "vk"=>0, "population"=>74066}}

1 个答案:

答案 0 :(得分:1)

假设您将HTTParty响应分配给这样的变量:

r = #<HTTParty::Response:0x7fbda4055780 parsed_response={"ip"=>"74.125.232.229", "city"=>{"id"=>5375480, "lat"=>37.38605, "lon"=>-122.08385, "name_ru"=>"Маунтин-Вью", "name_en"=>"Mountain View", "name_de"=>"Mountain View", "name_fr"=>"Mountain View", "name_it"=>"Mountain View", "name_es"=>"Mountain View", "name_pt"=>"Mountain View", "okato"=>"", "vk"=>0, "population"=>74066}}

然后你可以获取解析后的响应(我喜欢让它具有无差别的访问权限),如下所示:

r = r.parsed_response.with_indifferent_access

然后你可以这样做:

lat = r[:city][:lat]
lon = r[:city][:lon]