javascript检查json是否为null

问题描述 投票:6回答:3

我正在使用以下JavaScript。它写得很好,直到得到没有值的结果为止。在控制台日志中显示此

未捕获的TypeError:无法读取null的属性'text'

但是我下面的脚本似乎不起作用

            var checkCaption = photo.caption.text;
            if (checkCaption == null) {
                caption = 'meh';
            } else {
                caption = photo.caption.text;
            }
javascript json
3个回答
14
投票

在您的示例中,photo.caption为空,因此在完成检查之前,代码会在photo.caption.text调用上中断。

var caption;

if(photo.caption != null) { // Covers 'undefined' as well
  caption = photo.caption.text;
} else {
  caption = "meh";
}

4
投票

就我而言,我使用JSON.stringify来检查我是否已收到来自REST服务器的{}(空)响应:

 if (JSON.stringify(response.data)=='{}') {
      //the response is null
 }
 else {
      //the response of JSON is not null
 }

检查响应是否为空对我来说很好。


0
投票

对我来说,检查json对象的长度已解决问题-

   if Object.keys(jsonobj).length === 0){
     // JSON object is null
    }
   else {
     // JSON object has data 
    }
© www.soinside.com 2019 - 2024. All rights reserved.