【问题标题】:What is the best way to know if a response in JSON is null in Ruby on Rails?在 Ruby on Rails 中了解 JSON 中的响应是否为空的最佳方法是什么?
【发布时间】:2015-12-30 15:25:14
【问题描述】:

我也在为 Rails 上的应用程序构建一个 API on Rails,用于身份验证我使用 devise_token_auth 并且在使用我正在使用的 API 的应用程序一侧 httparty,devise_token_auth 有一个current_user 方法,如果用户登录则返回用户,否则返回 nil,所以我想在用户登录时在使用 API 的应用程序一侧看到,为此我想知道什么是最好的检查 JSON 中的响应是否为空的方法。

这是我在对象上使用检查方法时得到的部分内容,该对象获取 HTTParty 到 API 的请求返回的值。

#<HTTParty::Response:0x10 parsed_response=nil, @response=#<Net::HTTPOK 200 OK readbody=true>, @headers={"server"=>["Cowboy"], "date"=>["Wed, 30 Dec 2015 15:13:22 GMT"], "connection"=>["close"] blah... blah... blah...

P.S:现在如果我检查 JSON 中响应的长度是否等于 0,我可以确定它是否为空,但我想知道是否有更好的方法来确定这一点。

【问题讨论】:

    标签: ruby-on-rails json api httparty rails-api


    【解决方案1】:

    从您如何调用 HTTParty 请求以及为什么要发布响应对象而不是响应正文的问题中,这并不完全清楚,这就是我假设您想要检查存在的原因/的存在。如果响应正文是字符串,您可能需要JSON.parse();或者您可能需要在响应对象本身上调用 .body 以获取您正在寻找的 JSON。也许这会有所帮助:

    require 'json'
    
    # your_request = however you're calling your API w/HTTParty
    JSON.parse(your_request.body) == {}
    

    希望这会有所帮助! :)

    【讨论】:

      猜你喜欢
      • 2011-12-07
      • 2010-12-08
      • 2012-03-21
      • 1970-01-01
      • 1970-01-01
      • 2011-05-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多