0

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

我正在发出返回 JSON 的 GET 请求。一旦我得到那个 JSON,我需要能够组织它,这样我就可以提取我想要的东西......但是,JSON 作为一个内部带有哈希的数组返回。因此, response.body 返回您在下面看到的内容。Response[0] 为我提供了构成我的请求的所有 JSON,并省略了“13”。Response[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": "link", "report_url": "link", "edit_url": "link" }, { "status": "live", "responses": 2, "creator": "Service Organizer", “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": "link", "report_url": "link", "edit_url": "link" } ], "total": 13 }链接" } ], "总计": 13 }链接" } ], "总计": 13 }

4

1 回答 1

0

例如,要收集 id:

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

为此,您必须JSON.parse按照 Dan Singerman 的评论将 JSON 字符串转换为 Ruby 格式。

于 2013-07-22T15:55:06.767 回答