访问 Json 对象 rails
Access Json Object rails
我正在尝试创建一个实例变量,其中包含来自该调用 (https://en.wikipedia.org/w/api.php?action=query&titles=World&generator=images&gimlimit=10&prop=imageinfo&iiprop=url|dimensions|mime&format=json)
的给定 JSON Return 中的 URL 列表
在第一个实例中,当我单独访问对象时,我得到了正确的值。但是,如果迭代以获得我得到的多个值。
undefined method `[]' for nil:NilClass (NoMethodError) error
@links=[]
@description= @data_hash["query"]["pages"]["-1"]["imageinfo"][0]["url"] #Works ok
url = ("https://en.wikipedia.org/w/api.php?action=query&titles=World&generator=images&gimlimit=10&prop=imageinfo&iiprop=url|dimensions|mime&format=json")
uri = URI(url)
response = Net::HTTP.get(uri)
@data_hash= JSON.parse(response)
["url"]
@data_hash["query"]["pages"].map { |i|
i.map { |e|
@links<< e['imageinfo'][0]
}
}
这应该有效:
@links = @data_hash['query']['pages']
.values
.map { |page| page['imageinfo'].first['url'] }
我正在尝试创建一个实例变量,其中包含来自该调用 (https://en.wikipedia.org/w/api.php?action=query&titles=World&generator=images&gimlimit=10&prop=imageinfo&iiprop=url|dimensions|mime&format=json)
的给定 JSON Return 中的 URL 列表在第一个实例中,当我单独访问对象时,我得到了正确的值。但是,如果迭代以获得我得到的多个值。
undefined method `[]' for nil:NilClass (NoMethodError) error
@links=[]
@description= @data_hash["query"]["pages"]["-1"]["imageinfo"][0]["url"] #Works ok
url = ("https://en.wikipedia.org/w/api.php?action=query&titles=World&generator=images&gimlimit=10&prop=imageinfo&iiprop=url|dimensions|mime&format=json")
uri = URI(url)
response = Net::HTTP.get(uri)
@data_hash= JSON.parse(response)
["url"]
@data_hash["query"]["pages"].map { |i|
i.map { |e|
@links<< e['imageinfo'][0]
}
}
这应该有效:
@links = @data_hash['query']['pages']
.values
.map { |page| page['imageinfo'].first['url'] }