2017-02-20 16 views
0

私はGithub APIを使って遊んでいて、個々の要素にアクセスしようとしていますが、問題が発生しています。メインのrubyファイルです。このJSON解析されたハッシュの要素にアクセスするにはどうすればよいですか?

require 'octokit' 

Octokit.configure do |c| 
    c.login = 'example_user' 
    c.password = 'password' 
end 

user = Octokit.user 'example_user' 

uri = URI.parse("https://api.github.com/repos/angular/angular/stargazers") 

http = Net::HTTP.new(uri.host, uri.port) 

http.use_ssl = (uri.scheme == 'https') 
http.verify_mode = OpenSSL::SSL::VERIFY_NONE 

request = Net::HTTP::Get.new(uri.request_uri) 

res = http.request(request) 
response = JSON.parse(res.body) 

たとえば、最初のハッシュには問題はありません。

puts response[0] 

しかし、私がキーの値にアクセスしようとすると、単に空の戻り値が得られます。

puts response[0][:url] 

私は間違っていると思いますか? (response[0]"url"キーを持っていることをを想定し、)ので、あなたは文字列化キーを入手JSON.parse

答えて

2

、:

response[0]['url'] 
+0

ありがとう 'stringifyed' キーの事実に目を開くための@アンドレイ・deineko。 – jbk

+0

@jbk probs! jsonの解析中にキーをシンボルに変換する方法があります( 'symbolize_names:true'オプションを渡す)。しかし、それは再帰的ではなく、ネストされたものではなく「第1レベル」のキーだけを象徴することに注意してください。 –

関連する問題