2011-08-28 3 views
0

HTTPARTy를 사용하여 Google places API에 액세스하고 있습니다. 여기 내 코드가있다. 예상대로 내가 내 데이터베이스에서 데이터가, 내가 할 때와 같이 (0) .item businessInfo.index @ 사용하여 항목에 액세스하도록 할 때레일에서 API 반환 문자열의 항목에 액세스하는 방법

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

@business 정보는, 그러나, 구글의 데이터의 문자열을 포함 무.

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]과 같은 것이 필요하지만 불행히도이 두 가지 방법 모두 작동하지 않는 것 같습니다."Results "에서 중첩 된 값에 액세스하는 방법이 있습니까? –

+0

괜찮 았습니다. –

관련 문제