繁体   English   中英

了解Ruby on Rails中JSON中的响应是否为null的最佳方法是什么?

[英]What is the best way to know if a response in JSON is null in Ruby on Rails?

我也在Rails上为Rails上的应用程序构建API,对于身份验证,我正在使用devise_token_auth,并且在使用API​​的应用程序的一侧,我正在使用httparty ,devise_token_auth具有current_user方法,该方法会在以下情况下返回用户它是否已登录,否则为nil,因此,如果用户登录,那么我想在使用API​​的应用程序一侧查看该信息,为此,我想知道检查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,我可以确定它是否为null,但是我想知道是否有更好的方法来确定它。

从这个问题尚不清楚,您如何调用HTTParty请求以及为什么要发布响应对象而不是响应主体,这就是我假设您要检查的存在性/存在性。 。 如果响应主体是字符串,则可能需要JSON.parse() 或者您可能需要在响应对象本身上调用.body以获得所需的JSON。 也许这会有所帮助:

require 'json'

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

希望这可以帮助! :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM