我在像这样的ajax调用中得到了以下json数组
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 ,为什么?我错过了什么
最佳答案
p params['places'][0]
正在打印括号,因为 params['places']
是一个字符串。然后您将打印字符串的第一个字符。
要获取 JSON 的内容,您首先需要解析它,例如 json
gem。
require json
places = JSON.parse(params['places'])
p places[0]
关于ruby-on-rails - 将 Json 数据解析为简单数组 Ruby on Rails 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32988338/