2015-10-07 40 views
1

我得到了在Ajax調用下面的JSON數組這樣解析JSON數據轉化爲簡單的數組Ruby on Rails的4

item restaurants 
places [{"geometry":{"location":{"H":31.485241,"L":74.30220800000006}},"icon":"https://maps.gstatic.com/mapfiles 
/place_api/icons/restaurant-71.png","id":"f8d9edcb5068bcd868e225429e881a351a5e2795","name":"Subway","opening_hours" 
:{"open_now":true,"weekday_text":[]},"photos":[{"height":720,"html_attributions":["<a href=\"https:/ 
/maps.google.com/maps/contrib/116044146831530051317\">Adnan Fayyaz</a>"],"width":960}],"place_id":"ChIJpaImhvEDGTkRw35DXlvUTIE" 
,"price_level":1,"rating":2.9,"reference":"CmRaAAAAr8mbHo-J1Wq8YTjzyiHRmwMkh40-26VJ6WqBxgjdAtT4v2HuT 
Lb_OEYS7DUqHHIOe__ywd7S0E8oWgarwGD-DdlS1SVmrEo_Sl58o3PO528LAPGBSuN8luGTXLkKS0waEhCBQcGYE1ejtMRrY1F6zK5NGhTuIi9f4ht2CC0obNOpChdD1P_8yA" 
,"scope":"GOOGLE","types":["restaurant","food","point_of_interest","establishment"],"vicinity":"A Block 
, Lahore","html_attributions":[]}] 

現在,當我在控制檯做p params["item"]它給了我「餐館」(正確的)時我做p params["places"]它給我的整體響應(這又是正確的),但是當我試圖讓(比方說)第一幾何形狀的東西通過鍵入p params['places'][0]它給了我只有兩個支架像

[
[

並沒有顯示任何其他內容。而我期待的結果是數組中的第一個元素,它是幾何的東西。另外p params ['places'] [0] .geometry給nil,爲什麼?我在想什麼

回答

3

p params['places'][0]是打印括號,因爲params['places']是一個字符串。然後您將打印字符串的第一個字符。

要獲取JSON的內容,首先需要解析它,例如使用json寶石。

require json 
places = JSON.parse(params['places']) 
p places[0]