我已经着手学习ruby / rails并使用Ruby访问API。我有一个简单的问题:
我正在发出一个返回JSON的GET请求。一旦我得到JSON,我需要能够组织它以便我可以提取我想要的东西......但是,JSON作为一个带有哈希的数组返回。所以,response.body返回你在下面看到的内容。 Response [0]为我提供了构成我的请求的所有JSON,并且不再使用“13”。响应[1]只给出了13.如果没有所有多余的JSON,我怎样才能得到每个调查的id?
{ “调查”: [ { “身份”:“活着”, “回应”:2, “创作者”:“服务组织者”, “updated_at”:“2013-07-10T22:16:23 + 00:00”, “deploy_uri”:“链接”, “responses_url”:“链接”, “id”:221584, “名称”:“测试电子邮件”, “created_at”:“2013-07-10T19:54:32 + 00:00”, “uri”:“链接”, “report_url”:“链接”, “edit_url”:“链接” }, { “身份”:“活着”, “回应”:2, “创作者”:“服务组织者”, “updated_at”:“2013-07-10T22:16:23 + 00:00”, “deploy_uri”:“链接”, “responses_url”:“链接”, “id”:221584, “名称”:“测试电子邮件”, “created_at”:“2013-07-10T19:54:32 + 00:00”, “uri”:“链接”, “report_url”:“链接”, “edit_url”:“链接” } ] “总数”:13 }
答案 0 :(得分:0)
例如,收集ID:
survey_ids = response.body["surveys"].map { |s| s["id"] }
要使其正常工作,您必须根据Dan Singerman的评论将JSON字符串转换为带有JSON.parse
的Ruby格式。