我有一個Rails應用程序後者從世界天氣在線API的響應。我使用rest-client gem,響應採用JSON格式。紅寶石越來越深嵌套的JSON API數據
我解析使用響應:
parsed_response = JSON.parse(response)
哪裏parsed_response
顯然是一個哈希值。
我需要的數據是另一散列內另一散列內的另一個陣列內的散列內的陣列內的散列內的字符串。
最內部嵌套哈希值是內部["hourly"]
,8個散列,各有20個按鍵,具有各種氣候參數的字符串值的陣列。陣列中的每個散列都是一天中的不同時間(預測是三小時,3 * 8 = 24小時)。
因此,舉例來說,如果我想在晚上9米的涌浪高度,我用下面的電話找到它:
@swell_height = parsed_data["data"]["weather"][0]["hourly"][7]["swellHeight_m"]
其中數組中的第7元對應"time" => "2100"
雖然我可以肯定地工作,我很好奇,是否有一種更直接的方式來訪問我的數據,就像它是一個數據庫表,我可以使用活動記錄,如:
@swell_height = parsed_data.swellHeight_m.where(:time => "2100")
我怎麼找到這個「選擇」 - 「兒童」=> [{「id」=>「10」,「text」=>「新來港定居人士」,「國家」=> {「打開」 > true,「selected」=> false}} – kpp