Ruby를 사용하여 Ruby/Rail을 배우고 API에 액세스하는 작업에 착수했습니다. 빠른 질문이 있습니다.Ruby를 사용하여 배열 내부 해시에 액세스하는 문제
JSON을 반환하는 GET 요청을하고 있습니다. 일단 JSON을 다시 얻었 으면 원하는대로 끌어낼 수 있도록 구성 할 수 있어야합니다. 그러나 JSON은 해시가 포함 된 배열로 돌아옵니다. 그럼, response.body는 아래 보이는 것을 반환합니다. 응답 [0]은 내 요청을 처리하는 모든 JSON을 제공하고 "13"을 벗어납니다. 응답 [1]은 단지 13을 제공합니다. 예를 들어 초과 된 JSON을 모두 사용하지 않고 각 설문 조사의 ID를 어떻게 얻을 수 있습니까?
예를 들어{ "surveys": [ { "status": "live", "responses": 2, "creator": "Service Organizer", "updated_at": "2013-07-10T22:16:23+00:00", "deploy_uri": "link", "responses_url": "link", "id": 221584, "name": "Test Email", "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": "link", "responses_url": "link", "id": 221584, "name": "Test Email", "created_at": "2013-07-10T19:54:32+00:00", "uri": "link", "report_url": "link", "edit_url": "link" } ], "total": 13 }
: "설문 조사"에 대한 정의되지 않은 메서드'지도 ': 문자열 (NoMethodError) 어떤 아이디어? –
당신이 실제로 준 해시가 유효한 Ruby 해시 구문이 아닙니다. 그에 따라 응답을 업데이트했습니다. – lurker
먼저 JSON.parse (response.body)를 사용하여 JSON을 루비 해시로 구문 분석하십시오. – DanSingerman