从 JSON.parse 捕获异常的正确方法

2022-01-15 00:00:00 xmlhttprequest javascript

我在有时包含 404 响应的响应上使用 JSON.parse.在它返回 404 的情况下,有没有办法捕获异常然后执行一些其他代码?

I’m using JSON.parse on a response that sometimes contains a 404 response. In the cases where it returns 404, is there a way to catch an exception and then execute some other code?

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;
});

推荐答案

我将某些内容发布到 iframe 中,然后使用 json 解析读回 iframe 的内容...所以有时它不是 json 字符串

i post something into an iframe then read back the contents of the iframe with json parse...so sometimes it's not a json string

试试这个:

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

相关文章