【问题标题】:ESPN nba athlete api unknown regex and syntax errorESPN nba 运动员 api 未知的正则表达式和语法错误
【发布时间】:2013-11-24 22:03:02
【问题描述】:

在终端中使用 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​​ 文件中工作。

【问题讨论】:

  • 我不太确定问题是什么。
  • 问题是为什么我得到以下错误,但我解决了它:)

标签: ruby json api


【解决方案1】:
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 尝试将其解释为变量和/或正则表达式,然后放弃并返回错误。

【讨论】:

    【解决方案2】:

    两个2问题。 1. url不带引号,url需要带引号。

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

    2。 API_Key 不在引号中

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2011-10-13
      • 1970-01-01
      • 2019-10-08
      相关资源
      最近更新 更多