我正在尝试使用 Foursquare API 构建一个小应用程序。
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 中提取您想要的 pars 的最佳方式。例如 - 如果我想要返回每个结果的名称?
响应的类是我以前从未见过的 Hashie::Mash?