【发布时间】:2015-12-03 08:51:10
【问题描述】:
我正在尝试下面的代码,我使用了一段时间,因为我不知道数组的长度。但我得到这个错误
这个api返回下面的JSON,我只想有一个带有标签的地图,nb_uniq_visitors
查看 JSON 字符串。
[
{
"label": "Australia",
"nb_uniq_visitors": 1,
"nb_visits": 1,
"nb_actions": 2,
"nb_users": 0,
"max_actions": 2,
"sum_visit_length": 519,
"bounce_count": 0,
"nb_visits_converted": 0,
"code": "au",
"logo": "plugins\/UserCountry\/images\/flags\/au.png",
"segment": "countryCode==au",
"logoWidth": 16,
"logoHeight": 11
},
{
"label": "United States",
"nb_uniq_visitors": 1,
"nb_visits": 1,
"nb_actions": 1,
"nb_users": 0,
"max_actions": 1,
"sum_visit_length": 0,
"bounce_count": 1,
"nb_visits_converted": 0,
"code": "us",
"logo": "plugins\/UserCountry\/images\/flags\/us.png",
"segment": "countryCode==us",
"logoWidth": 16,
"logoHeight": 11
}
]
调度程序捕获异常:
没有将字符串隐式转换为整数 /home//mixed_dashboard/jobs/visitsbycountry.rb:25:in
[]' /home//mixed_dashboard/jobs/visitsbycountry.rb:25:inblock in ' /var/lib/gems/2.1.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:incall' /var/lib/gems/2.1.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:230:intrigger_block' /var/lib/gems/2.1.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/jobs.rb:204:inblock in trigger' /var/lib/gems/2.1.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:incall' /var/lib/gems/2.1.0/gems/rufus-scheduler-2.0.24/lib/rufus/sc/scheduler.rb:430:in `block in trigger_job'
----------------------------------- ---- 代码如下 ----------
require 'rubygems'
require 'net/http'
require 'json'
server = ""
SCHEDULER.every '30s', :first_in => 0 do |job|
url = URI.parse("#{server}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Get.new(url.request_uri)
response = http.request(request)
j = JSON[response.body]
# Convert to JSON
countries = []
$i=0
$num = 5
while $i < $num do
country_name = j["label"]
country_visits = j["nb_unique_visits"]
countryHash = {country_name => country_visits}
countries.push(countryHash)
$i+=1
end
send_event('buzzwords', { items: countries })
end
【问题讨论】:
-
首先你有无限的
while循环。 -
是的,我是 ruby 新手,但我教过它会在我 5 岁时结束?
-
我看不出你在哪里增加
$i? -
你的权利让我补充一下。谢谢