2015-02-09 4 views
0

У меня есть URL-адрес, который отображает информацию о JSON-холдинге для 400 мест YMCA. Моя цель состоит в том, чтобы иметь возможность тянуть широту и долготу для каждого местоположения, чтобы отображать точки на карте.HTTParty parsing JSON in Rails

Я играл с 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 на экране. Как выбрать отдельные части?

ответ

0

Вы должны принять намеки от того, что отображается, если вы посмотрите, то я уверен, что вы увидите, что ваш цикл выполняется только один раз, а единственный и единственный выход - 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"=>"[email protected]", 
"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)> 

Я надеюсь, что вы можете взять его оттуда.

+1

Это помогает. Спасибо! – Cosimo

+0

Теперь, когда у вас есть несколько моментов, есть еще лучший способ поблагодарить людей здесь за переполнение стека :) – smathy