如果响应主体不在JSON中,我如何避免解析JSON,否则它会抛出一个我想要处理的巨大异常
def execute_method(foo)
...
response = self.class.get("/foo.php", query: query)
JSON.parse(response.body)
end
Run Code Online (Sandbox Code Playgroud)
Mag*_*uss 26
正如@Anthony指出的那样,使用开始/救援.
begin
...
JSON.parse(response.body)
rescue JSON::ParserError
# Handle error
end
Run Code Online (Sandbox Code Playgroud)
更新
要检查字符串是否是有效的json,您可以创建一个方法:
def valid_json?(string)
!!JSON.parse(string)
rescue JSON::ParserError
false
end
valid_json?("abc") #=> false
valid_json?("{}") #=> true
Run Code Online (Sandbox Code Playgroud)