FoursquareAPIを使用して小さなアプリを作成しようとしています。
require 'rubygems'
require 'rest-client'
require 'json'
require 'foursquare2'
require 'awesome_print'
client = Foursquare2::Client.new(:client_id => 'xxx', :client_secret => 'xxx')
response = client.search_venues(:ll => '36.142064,-86.816086', :query => 'nails')
これはうまく機能しますが、APIから得られる応答は、なんとなく困惑させられます。
[
[0] "groups",
[1] [
[0] {
"type" => "places",
"name" => "Places",
"items" => [
[ 0] {
"id" => "4e24ce97fa76c80b5f5adfcc",
"name" => "The Nail Spa",
"contact" => {
"phone" => "6152975895",
"formattedPhone" => "(615) 297-5895"
},
"location" => {
"address" => "2126 Abbot Martin Rd. Suite 102",
"crossStreet" => "at Green Hills Mall",
"lat" => 36.10713765714286,
"lng" => -86.817004,
"distance" => 3888,
"postalCode" => "37215",
"city" => "Nashville",
"state" => "TN",
"country" => "United States"
},
"categories" => [
[0] {
"id" => "4bf58dd8d48988d10c951735",
"name" => "Cosmetics Shop",
"pluralName" => "Cosmetics Shops",
"shortName" => "Beauty / Cosmetic",
"icon" => "https://foursquare.com/img/categories/shops/beauty_cosmetic.png",
"parents" => [
[0] "Shops & Services"
],
"primary" => true
}
],
"verified" => false,
"stats" => {
"checkinsCount" => 103,
"usersCount" => 90,
"tipCount" => 5
},
"specials" => []
},
上記は応答の最初の部分であり、多くのデータが返されます。
必要なパーを引き出すためのRubyの最良の方法は何ですか。たとえば、各結果の名前を返したい場合はどうすればよいですか?
応答のクラスは、私が今まで見たことがないHashie :: Mashですか?