我正在学习如何在Rails上使用来自this yelp blog和yelp github的Yelp API。我能够连接到Yelp服务并得到回复,但我不知道如何处理我得到的响应。
以下是我在Rails Console
上所做的事情:
2.2.2 :057 > response = client.search('los angeles', {limit: 2})
=> #<Yelp::Response::Search:0x007fff32edc2c0 @region=#<Yelp::Response::Model::Region:0x007fff35ddf6d0 @span=#<Yelp::Response::Model::RegionSpan:0x007fff35ddf450 @latitude_delta=0.04455494999999132, @longitude_delta=0.02209966000000918>, @center=#<Yelp::Response::Model::RegionCenter:0x007fff35ddf5e0 @latitude=34.08390635, @longitude=-118.3184503>>,...
那种格式是什么? this article说当我对Yelp进行API调用时,它会提供ruby对象,但我不确定#<Yelp::Response...
是什么数据类型。我想我期待一个ruby数组/ json格式返回,如文章中所述:
`
response = client.search('旧金山')
response.businesses
response.businesses [0]。名称
response.businesses [0] .rating
如果我想从返回API中选择特定信息,请说display_address
或neighborhood
,我该怎么做? (这是同一API请求的结尾部分):
...@display_address=["6353 Yucca St", "Hollywood", "Los Angeles, CA 90028"], @geo_accuracy=8.0, @postal_code="90028", @country_code="US", @address=["6353 Yucca St"], @coordinate=#<Yelp::Response::Model::Coordinate:0x007fff35ddf7e8 @latitude=34.10413, @longitude=-118.32834>, @state_code="CA", @neighborhoods=["Hollywood"]>, @deals=nil, @gift_certificates=nil, @reviews=nil>]>
答案 0 :(得分:1)
1。 如果您直接调用API(例如,来自cURL),那么您将获得JSON。
你正在使用Yelp gem,所以它有助于将JSON转换为ruby对象。如果您对构造对象感兴趣,可以查看gem在GitHub上进行转换的方式。
您应该能够像文章中所说的那样与该回复进行互动,即results.businesses
应该为您提供一系列商家。
results.businesses[0].display_address
获取找到的第一个商家的显示地址
results.businesses[0].neighborhoods
是与同一业务相关的所有社区的数组。