使用Ruby发出访问数组内部哈希的问题

时间:2013-07-22 15:15:04

标签: ruby arrays api hash httparty

我已经着手学习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   }

1 个答案:

答案 0 :(得分:0)

例如,收集ID:

survey_ids = response.body["surveys"].map { |s| s["id"] }

要使其正常工作,您必须根据Dan Singerman的评论将JSON字符串转换为带有JSON.parse的Ruby格式。