ESPN nba运动员api未知的正则表达式和语法错误

时间:2013-11-24 22:03:03

标签: ruby json api

在终端中使用curl http://api.espn.com/v1/sports/basketball/nba/athletes/?apikey=MY_API_KEY})。

当我尝试在文件中解析它时。我收到以下错误。

nba_player_stats.rb:11: unknown regexp options - ap
nba_player_stats.rb:11: syntax error, unexpected tIDENTIFIER, expecting keyword_do or '{' or '('

这是我在文件中的代码。我需要“json”和“net / http”

uri = URI(http://api.espn.com/v1/sports/basketball/nba/athletes/?apikey=My_API_KEY})                                        
raw_data = Net::HTTP.get(uri)                                                                                                                                                                        
json = Json.parse(raw_data)      

我不太清楚错误是什么。如果它与curl一起工作正常,我觉得它应该在我的ruby文件中工作。

2 个答案:

答案 0 :(得分:0)

两个问题。 这个网址没有引号。网址需要引号。

uri = URI("http://api.espn.com/v1/sports/basketball/nba/athletes/?apikey=My_API_KEY}") 

2。 API_Key不在引号中

答案 1 :(得分:0)

uri = URI(http://api.espn.com/v1/sports/basketball/nba/athletes/?apikey=My_API_KEY})

错了。尝试:

uri = URI('http://api.espn.com/v1/sports/basketball/nba/athletes/?apikey=My_API_KEY')

或者:

uri = URI.parse(...)

问题是,你应该为URI的参数使用一个字符串,但你没有。您的参数是原始URL文本,没有任何引号,Ruby试图将其解释为变量和/或正则表达式,然后放弃并返回错误。