2011-08-28 16 views
0

我正在使用HTTParty访问Google场所API。这是我的代码。如何在Rails中访问api返回字符串中的项目

query = GOOGLE_API["search"].merge(:location => latlng.join(",")) 
     response = HTTParty.get(GOOGLE_API["search"]["url"], :query => query) 
     @businessInfo = response 

@business信息包含来自谷歌的一串数据不如预期,但是,当我尝试使用acccess @ businessInfo.index项目(0).item就像我会从我的数据库中的数据,我得到零。

This is a sample of what is contained in the variable -- {"html_attributions"=>[], "results"=>[{"geometry"=>{"location"=>{"lat"=>33.762835, "lng"=>-84.392724}}, "icon"=>"http://maps.gstatic.com/mapfiles/place_api/icons/art_gallery-71.png", "id"=>"c551a5fdc78c273e6f498aa920733037199ebe01", "name"=>"World of Coca-Cola", "reference"=>"CnRoAAAAvpKSnn971Ur5ABYStk-EJfMvyFFFlBtd9LzwRT4H-PF50vS0CQtDCGkoW0QqKLHwFHV7Qmj32bgg-KjthkVENsBpGPxNAq_vcg4do-TQyi97y6mKxf3qUgoGxzGHePEAcqg15aATTl6Xdsq7Pl2b6hIQpzVIr4KO4ZDSx4tIqcH-ARoUPn-9yBSLi35lBM7gFm2KTPGREa0", "types"=>["art_gallery", "store", "establishment"], "vicinity"=>"Baker Street Northwest, Atlanta"}, {"geometry"=>{"location"=>{"lat"=>33.759925, "lng"=>-84.387158}}, "icon"=>"http://maps.gstatic.com/mapfiles/place_api/icons/restaurant-71.png", "id"=>"32815dbf0963cb55dee871b96cc5100335f40400", "name"=>"Hard Rock Cafe Atlanta", "reference"=>"CnRtAAAApKIX3M3emqAzdsN3f0ntsi-M- 

我的问题是,我用什么语法来访问项目和值,以便我可以使用它们。

谢谢。

+0

确定..想通了。迭代器位于父项和子项哈希之间。起初并不清楚。 '<%对于i在0..5%> \t \t

    \t \t
  • <%= @features [' 结果 '] [I] [' 姓名']%>
  • \t \t \t \t
\t \t <% end %>' –

回答

0

您的响应对象是hash,因此您可以通过以下方式访问你的回应内容:

puts response["results"] 
+0

谢谢!我剩下的问题是这些值是嵌套的。所以没有从“结果”返回的价值。我需要类似Results.name或[“results”] [“name],但不幸的是,这些方法似乎都没有工作。有没有办法访问”结果“下的嵌套值? –

+0

好吧。 –

相关问题