1
我請求與以下網址方向:Ruby和谷歌地圖API
http://maps.googleapis.com/maps/api/directions/json?origin=43.656877,-79.32085&destination=Montreal&sensor=false
然後,谷歌發回一個巨大的JSON,我想訪問一個更好的方式步驟莫過於:
response = open("http://maps.googleapis.com/maps/api/directions/json?origin=#{lat1},#{lng1}&destination=#{lat2},#{lng2}&sensor=false").read
response = JSON.parse(response)
response["routes"][0]["legs"][0]["steps"][0]["end_location"]
是否有更美麗的方式來訪問end_location而不必使用所有這些數組符號?我想過使用OpenStruct,但它也不會很理想。
你爲什麼不只是寫自己的類,你把要求的東西,它的一些不錯的解析方法?像''def end_location \ nresponse [「routes」] [0] [「legs」] [0] [「steps」] [0] [「end_location」] \ n end'' – 23tux
這就是我正在做的。但是因爲項目的範圍發生了很大的變化,所以我最終可能會提取start_location或distance或其他內容。所以,我需要一個更靈活的語法來反覆做同樣的事情。 –