HTTParty 在 Rails 中解析 JSON

HTTParty parsing JSON in Rails

我有一个 URL 显示 JSON 400 个 YMCA 位置的信息。我的目标是能够提取每个位置的纬度和经度,以便在地图上显示这些点。

我正在玩弄 HTTParty,只想从在视图中仅显示纬度和经度开始。

这是我的控制器:

require 'rubygems'
require 'httparty'
class HomesController < ApplicationController
  include HTTParty

  def index
    uri = HTTParty.get"http://www.livestrong.org/we-can-help/ymca.json"
    @place = JSON.parse(uri.body)
  end
end

视图如下:

<% @place.each do | key, value | %> <br>
  <strong><%= key %></strong>
  <%= value %>
<% end %>    

到目前为止,这会在屏幕上显示所有 JSON。如何挑选各个部分?

你必须从显示的内容中获取提示,如果你看一看,我相信你会看到你的循环只执行了一次,并且唯一的关键输出是 ymca所有数据都在那个键的 value 中。

如果您进入 irb 并查看 @place['ymca'] 中的内容,您会发现它是一个大数组。如果您查看该数组的第一个元素,您会发现它是非常易于管理的数据块:

[12] pry(main)> @place['ymca'].first
=> {"phone_number"=>"205-870-0144",
 "title"=>"Mountain Brook YMCA",
 "street_address"=>"2401 20th Place South",
 "email"=>"livestrong@ymcabham.org",
 "city"=>"Birmingham",
 "lat"=>33.487881,
 "zipcode"=>"35223",
 "description"=>"Mountain Brook YMCA",
 "state"=>"Alabama",
 "thumbnail"=>"v1414706252/tak5bi22hve474jeh1yr.png",
 "website"=>"http://ymcabham.org",
 "lon"=>-86.78624}
[13] pry(main)> 

我希望你能从那里得到它。