【问题标题】:How to use ruby to parse the json response given by foursquare API如何使用ruby解析foursquare API给出的json响应
【发布时间】:2011-09-20 23:12:48
【问题描述】:

我正在使用foursquare API 来搜索特定场所。我使用以下网址: https://api.foursquare.com/v2/venues/venue_id?oauth_token=Access_token

网站给出的响应是json。

然后我使用以下代码尝试使用 ruby​​ 解析此 json 响应:

require 'rest-open-uri'
require 'json'

url = 'https://api.foursquare.com/v2/venues/venue_id?oauth_token=Access_token'

buffer = open(url, "UserAgent" => "Ruby-Wget").read

result = JSON.parse(buffer)

这是我得到的错误代码:

C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:in connect': SSL_con nect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verif y failed (OpenSSL::SSL::SSLError) from C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:inbloc 连接中的 k' 来自 C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/timeout.rb:44:in timeou t' from C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/timeout.rb:89:intimeou t'

此错误代码是否意味着我无法打开此网址,因为它以“https”开头?有什么方法可以打开这个 url 并解析 json 响应?

先谢谢了!

【问题讨论】:

    标签: json api foursquare


    【解决方案1】:

    这应该可行:

    gem install httparty
    

    然后

    require 'httparty'
    require 'json'
    
    response = HTTParty.get("https://api.foursquare.com/v2/venues/vid", 
    :query => {:oauth_token => "abc"})
    
    json = JSON.parse(response.body)
    

    【讨论】:

      【解决方案2】:

      RUBY 区分大小写。 require 'json' # json 必须小写

      JSON.parse()
      例如 JSON.parse(response.body) # JSON 必须全部大写

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-04-27
        • 1970-01-01
        • 2019-02-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多