检查JSON响应数据是否为空

时间:2018-08-16 10:44:14

标签: javascript angularjs

在浏览器控制台中查看时,JSON响应为空时如下所示:

{"data":{},"status":200,"config":{"method":"GET","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"http://url/form/BN217473","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":"","xhrStatus":"complete"}

在角度脚本中,我正在检查响应是否为空,但由于从未执行逻辑块,因此检查未捕获到空响应

if (response.data == '') {
    console.log("no data found");
}

如何检查我的回复不为空?

3 个答案:

答案 0 :(得分:2)

请尝试以下代码段:-

if(!Object.keys(response.data).length){
     console.log("no data found");
 }

如果您将数据作为空对象(如数据{})获取,则应检查对象内部是否有任何键。

答案 1 :(得分:0)

您可以使用Object.keys(response.data).length === 0来检查键/属性的数量,或者使用JSON.stringify({}) == JSON.stringify(response.data)来检查键/属性的效率较低

答案 2 :(得分:0)

如果要检查响应是否为空,请尝试:

    if ( json.length == 0 ) {
    console.log("NO DATA!")
}

但是我建议您使用lodash和他的isNil()方法或isEmpty()检查您的对象是否为空,空或未定义。

欢呼声