检查ajax是否返回了有效的JSON字符串。
检查ajax是否返回了有效的JSON字符串。
这个问题已经有答案了:
我在SO上找到了一些类似的答案,但它们都不足够。我正在使用$.post()
调用ajax,并期望返回json字符串。
许多事情可能发生(不正确的json格式,服务器端错误,连接丢失等),我正试图测试返回的字符串是否为json
有效。
我检查了这个答案,但它使用的是不安全的eval
。
这是我到目前为止写的代码:
$.post( 'some_url.php', some_params, function(data) { var is_JSON = true; try { data = $.parseJSON(data); } catch(err) { is_JSON = false; } if (is_JSON && (data !== null)) { console.log('correct json format'); if (data.result === 'OK') { console.log('result: OK'); } else if (data.result === 'ERR') { console.log('result: ERR'); } } else { try { console.log('incorrect json format'); } catch(err) { console.log('error occured'); } } } );
我如何简单(并足够)地检查返回的字符串是否为正确的json格式?谢谢。
admin 更改状态以发布 2023年5月25日