javascript检查json是否为null

时间:2012-10-07 16:02:19

标签: javascript json

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

  

未捕获的TypeError:无法读取null

的属性“text”

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

            var checkCaption = photo.caption.text;
            if (checkCaption == null) {
                caption = 'meh';
            } else {
                caption = photo.caption.text;
            }

3 个答案:

答案 0 :(得分:13)

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

var caption;

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

答案 1 :(得分:3)

在我的情况下,我使用JSON.stringify来检查我收到了来自REST服务器的{}(null)响应:

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

我可以检查响应是否为空。

答案 2 :(得分:1)

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

   if Object.keys(jsonobj).length == 0){
     // JSON object is null
    }
   else {
     // JSON object has data 
    }