检查JSON响应数据是否为空

roc*_*ket 2 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"}
Run Code Online (Sandbox Code Playgroud)

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

if (response.data == '') {
    console.log("no data found");
}
Run Code Online (Sandbox Code Playgroud)

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

Sag*_*che 5

请尝试以下代码片段:-

if(!Object.keys(response.data).length){
     console.log("no data found");
 }
Run Code Online (Sandbox Code Playgroud)

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

  • 好的,您必须使用对象而不是字符串。所以`JSON.parse(someString)` 是你的朋友。但是`JSON.parse()` 可能会失败...... (2认同)