在Ruby on Rails中,知道JSON中的响应是否为null的最佳方法是什么?

时间:2015-12-30 15:25:14

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

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

这是我在对象上使用inspect方法获得的一部分,该方法获取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...

PS :现在,如果我检查JSON中的响应长度是否等于0,我可以确定它是否为空,但我想知道是否有更好的方法来确定它。 / p>

1 个答案:

答案 0 :(得分:2)

关于你如何调用你的HTTParty请求,以及你为什么要发布响应对象而不是响应主体,我不能完全清楚这一点,这就是我&#39 ; m假设你想检查存在/存在。如果响应主体是字符串,则可能需要JSON.parse();或者您可能需要在响应对象本身上调用.body以获取您正在寻找的JSON。也许这会有所帮助:

require 'json'

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

希望这有帮助! :)