【问题标题】: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");
}

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

【问题讨论】:

标签: javascript angularjs


【解决方案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() 可能会失败...
      猜你喜欢
      • 2012-12-13
      • 2015-12-24
      • 1970-01-01
      • 2021-12-13
      • 2014-04-15
      • 1970-01-01
      • 2021-08-12
      • 2012-01-09
      相关资源
      最近更新 更多