如何在Ruby中处理JSON解析器错误

p

如果响应主体不在JSON中,如何避免解析JSON,否则会抛出一个巨大的异常,我想处理

      def execute_method(foo)
...

        response = self.class.get("/foo.php", query: query)
        JSON.parse(response.body)
      end
马格努斯

正如@Anthony指出的那样,请使用begin / rescue。

begin
  ...
  JSON.parse(response.body)
rescue JSON::ParserError
  # Handle error
end

更新资料

要检查字符串是否为有效的json,可以创建一个方法:

def valid_json?(string)
  !!JSON.parse(string)
rescue JSON::ParserError
  false
end

valid_json?("abc") #=> false
valid_json?("{}") #=> true

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby的JSON解析器错误

来自分类Dev

JSON解析器中的错误(NullPointerException)

来自分类Dev

JSON解析器中的错误(NullPointerException)

来自分类Dev

如何在Android中使用Jackson解析器处理JSON数组解析

来自分类Dev

如何处理Express Node.js中的主体解析器错误

来自分类Dev

如何在数学解析器(ruby)中实现加法运算符

来自分类Dev

处理xml解析器错误

来自分类Dev

这是Ruby解析器的错误吗?

来自分类Dev

在 JSON 中传递 PHP 解析器错误?

来自分类Dev

如何在Java中的JSON解析器的字符串中转义双引号

来自分类Dev

解析器中的Java异常处理

来自分类Dev

如何在Prolog中创建高阶DCG解析器?

来自分类Dev

如何在HTML解析器中更改URL

来自分类Dev

如何在解析器中替换或删除None(python)

来自分类Dev

如何在 JavaScript 中调试 GraphQL 解析器?

来自分类Dev

如何在Laravel中处理JSON返回的验证器错误

来自分类Dev

iOS JSON解析器错误

来自分类Dev

C#JSon解析器错误

来自分类Dev

正文解析器捕获错误的JSON

来自分类Dev

Json解析器http获取错误?

来自分类Dev

如何处理不同的JSON模式并调度要由正确的解析器处理的下摆?

来自分类Dev

BNF fparsec解析器中的错误

来自分类Dev

解析器错误-自动生成错误处理的模式

来自分类Dev

使用simle json解析器的Java中的JSON解析错误

来自分类Dev

尝试在ruby中加载此json文件。杰森解析器错误

来自分类Dev

如何使用android的Json解析器?

来自分类Dev

如何添加JSON解析器库?

来自分类Dev

QT中的json解析器

来自分类Dev

Ruby产生的JSON与JavaScript的JSON解析器不兼容