我试图检查响应是否有效的JSON。我正在向某些urls发出HTTParty或Restclient请求,并检查返回的响应是否有效?
我引用了链接这里。这不管用。
我的代码:
require 'json'
def get_parsed_response(response)
if not response.is_a? String or not response.valid_json?
# code
end
end
错误:
/home/user/.rvm/gems/ruby-2.1.0/gems/httparty-0.13.1/lib/httparty/response.rb:66:in `method_missing': undefined method `valid_json?' for #<HTTParty::Response:0x00000002497918> (NoMethodError)
发布于 2014-11-17 08:47:18
你应该打电话给response.body
。
response
是一个HTTParty::Response
对象。您真正想要使用的是表示HTTP主体的String
对象。
发布于 2014-11-17 06:19:26
比我的评论更具体一些,我建议你用这样的词:
value = nil
begin
value = JSON.parse(response)
# do whatever you do when not error
rescue JSON::ParserError, TypeError => e
puts "Not a string, or not a valid JSON"
# do whatever you do when error
end
https://stackoverflow.com/questions/26966187
复制相似问题