正确的方法来从JSON.parse中捕获exception

我对有时包含404响应的响应使用JSON.parse 。 在它返回404的情况下,是否有办法捕获exception,然后执行其他代码?

 data = JSON.parse(response, function (key, value) { var type; if (value && typeof value === 'object') { type = value.type; if (typeof type === 'string' && typeof window[type] === 'function') { return new(window[type])(value); } } return value; }); 

3 Solutions collect form web for “正确的方法来从JSON.parse中捕获exception”

我发布到iframe的东西,然后用jsonparsing回读iframe的内容…所以有时它不是一个JSONstring

尝试这个:

 if(response) { try { a = JSON.parse(response); } catch(e) { alert(e); // error in the above string (in this case, yes)! } } 

你可以试试这个:

 var jsonString = "b"; try { a = JSON.parse(jsonString); } catch (e) { alert(e); // You get an error. } 

如果JSON.parse()的参数不能被parsing成JSON对象,这个承诺就不会解决。

 Promise.resolve(JSON.parse('{"key":"value"}')).then(json => { console.log(json); }).catch(err => { console.log(err); }); 
  • 如何使用JavaScript和XMLHttpRequest加载二进制图像数据?
  • jQuery已弃用同步XMLHTTPRequest
  • AngularJS错误:交叉原点请求仅支持协议scheme:http,data,chrome-extension,https
  • 我如何获得jQuery的HTTP状态码?
  • 什么是最简洁的方式来获得JQuery AJAX请求的进展?
  • XMLHttpRequest将POST更改为OPTION
  • 在Chrome扩展中的跨源XMLHttpRequest
  • 当http:// localhost是原点时致命的CORS
  • 在使用XMLHttpRequest加载JSON文件时,Firefox中的“格式不正确”错误
  • 使用Javascript检索二进制文件内容,base64对其进行编码并使用Python进行反向解码
  • 如何获得XMLHttpRequest的响应?