2015-07-20 4 views
0

После запроса некоторого API, я получаю хэш json. То, что я хочу, - это пропустить этот хеш, чтобы получить теги, но я получаю no implicit conversion of String into Integer. любая помощь или лучший способ сделать это, пожалуйста?Rails parsing json

{ 
    "status": "OK", 
    "result": [ 
    { 
    "verdict": "OK", 
    "problem": { 
     "tags": [ 
     "implementation", ... 
     ] 
    } 
    }, 
    . 
    . 
    ] 
} 

модели/codeforces_api.rb

def self.retrieve_results(current_user) 

    json = JSON.parse(open("http://codeforces.com/api/user.status?handle=#{current_user.code_forces_handle}&key='my-key'&secret='my-secret'").read).to_json  

    ActiveSupport::JSON.decode(json)["result"].each do |record| 
     if record["verdict"] == "OK" 
      record ["problem"].each do |problem| 
      problem ["tags"].each do |tag| 
       puts tag 
      end    
      end 
     end 
    end 
end 

ответ

1

Похоже, что вы хотите:

record["problem"]["tags"].each do |tag| 
+0

Он работает, спасибо. –