有没有一种方法可以全局捕获JSON解析错误?

Is there a way to globally catch JSON parse errors?

本文关键字:JSON 错误 全局 一种 方法 有没有      更新时间:2023-09-26

使用纯JS或jQuery都可以。我已经使用了$(window)。错误函数,但它只在第1行给出错误消息"Unexpected token u",而不是任何有用的行号或变量名或它试图解析的内容。

编辑:这是在Chrome扩展

您可以创建一个脚本来修补在JSON名称空间中找到的方法,并在那里执行一些自定义错误捕获。

像这样的东西应该可以。如果你使用自定义JSON库,那么把这个放在它后面。

//sample patch for parse
(function(){
  //store the original parse
  var parse = JSON.parse;
  //patched parse function
  JSON.parse = function(){
    try{
      //try parsing
      return parse.apply(this,arguments);
    } catch(e){
      //something went wrong
      //custom code here
      throw e;
    }
  }
}());