检查 JSON 响应数据是不是为空 [重复]

Posted

技术标签:

【中文标题】检查 JSON 响应数据是不是为空 [重复]【英文标题】:Check if JSON response data is empty [duplicate]检查 JSON 响应数据是否为空 [重复] 【发布时间】:2019-01-23 07:15:14 【问题描述】:

在浏览器控制台中查看 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"

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

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

如何检查我的回复是否为空?

【问题讨论】:

***.com/a/32108184/965834 ? 【参考方案1】:

如果您想检查您的回复是否为空,请尝试:

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

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

干杯

【讨论】:

【参考方案2】:

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

【讨论】:

【参考方案3】:

试试下面的代码 sn-p:-

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

如果您以空对象的形式获取数据,例如 data: ,那么您应该检查对象内是否有任何键。

【讨论】:

对我不起作用。内容为,但检查失败。长度为 2。 好的,你必须使用对象而不是字符串。所以JSON.parse(someString) 是你的朋友。但是JSON.parse() 可能会失败...

以上是关于检查 JSON 响应数据是不是为空 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

检查返回的值是不是为空[重复]

响应正文为空(获取请求)[重复]

Function.keys 检查变量数据是不是存在[重复]

检查可为空的布尔值是不是为空[重复]

Laravel/PHP - 如何检查 JSON 是不是为空? [复制]

检查结构是不是为空[重复]