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



我已经着手学习ruby/rails并使用ruby访问API。我有一个快速的问题:

我正在发出一个返回JSON的GET请求。一旦我取回JSON,我就需要能够组织它,这样我就可以提取出我想要的。。。然而,JSON返回时是一个数组,里面有一个散列。因此,response.body返回您在下面看到的内容。Response[0]为我提供了构成请求的所有JSON,并省略了"13"。回复[1]只给了我13。例如,如果没有多余的JSON,我如何获得每个调查的id?

{"调查":[{"status":"live","回应":2,"创建者":"服务组织者","updated_at":"2013-07-10T22:16:23+00:00","deploy_uri":"链接","response_url":"链接","id":221584,"name":"测试电子邮件","created_at":"2013-07-10T19:54:32+00:00","uri":"链接","report_url":"链接","edit_url":"链接"},{"status":"live","回应":2,"创建者":"服务组织者","updated_at":"2013-07-10T22:16:23+00:00","deploy_uri":"链接","response_url":"链接","id":221584,"name":"测试电子邮件","created_at":"2013-07-10T19:54:32+00:00","uri":"链接","report_url":"链接","edit_url":"链接"}],"总计":13}

例如,要收集ids:

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

为了实现这一点,您必须根据Dan Singerman的注释,使用JSON.parse将JSON字符串转换为Ruby格式。

最新更新