ruby – 没有HTTParty :: Response隐式转换为String

前端之家收集整理的这篇文章主要介绍了ruby – 没有HTTParty :: Response隐式转换为String前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当我尝试将某种响应解析为 JSON时,我收到以下错误.如果incase解析失败,我在代码中引发了JSON :: ParserError.但是这种异常不会出现在这个解析器错误之下.我不知道为什么会抛出这种错误?以及如何解决错误

码:

begin
   parsed_response = JSON.parse(response)
 rescue JSON::ParserError => e
   nil
 end

错误

A TypeError occurred in background at 2014-11-16 03:01:08 UTC :

  no implicit conversion of HTTParty::Response into String

解决方法

您得到的错误是TypeError.当你将错误的参数传递给某些方法时,它就会被提升.你可以像这样拯救它:
begin
  parsed_response = JSON.parse(response)
rescue JSON::ParserError,TypeError => e
  puts e
end

不过,我不会推荐这个.你得到TypeError的原因是JSON.parse需要一个String对象,并且你已经传递了一个HTTParty :: Response对象.尝试给它一个String对象.例如.:

parsed_response = JSON.parse(response.body)

猜你在找的Ruby相关文章