2017-11-11 16 views
0
require "rubygems" 
require "json" 
require "net/http" 
require "uri" 

uri = URI.parse("https://api.website.com/top/inside/end") 

http = Net::HTTP.new(uri.host, uri.port) 
request = Net::HTTP::Get.new(uri.request_uri) 
http.use_ssl = true 
response = http.request(request) 

if response.code == "200" 
    result = JSON.parse(response.body) 
    names = Array.new 
    i = 0 
    result.each do |doc| 
    names.insert(i, doc.name) 
    puts doc["id"] #reference properties like this 
    puts doC# this is the result in object form  
    puts "" 
    puts "" 

    end 

    puts names 
else 
    puts "ERROR!!!" 
end 

各ループの変数名に未定義のメソッドエラーが発生するのはなぜですか?私は理解できない理由未定義のメソッドエラーrubyが表示されるのはなぜですか?

script.rb:18:中ブロック `で ':未定義のメソッド`名':0x0000000002e04c08 >(NoMethodError)

+3

を行うことができますは、doc [ '名前']を意味しますか? – whodini9

+0

そのハッシュなので 'names.push(i、doc [" name "])' – Gabbar

答えて

2

ライン18、

names.insert(i, doc.name) 
#<ハッシュについて

docはハッシュですが、doc['name']は動作するはずです。 JavaScriptで

は、あなたが

doc.name 
関連する問題