JavaScript检查JSON是否为null

nxagd54h  于 2023-03-24  发布在  Java
关注(0)|答案(4)|浏览(132)

我使用下面的javascript。它写得很好,直到它得到一个没有值的结果。在控制台日志中,它显示了这一点
未捕获的类型错误:无法读取属性“text”为空
但我下面的脚本似乎不起作用

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

vatpfxk51#

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

var caption;

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

k97glaaz2#

在我的例子中,我使用JSON.stringify来检查我是否从REST服务器收到了{}(null)响应:

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

我可以很好地检查响应是否为null。

qf9go6mv

qf9go6mv3#

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

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

ego6inou4#

我知道现在已经很晚了,但是这可能会帮助到其他人。你可以在一行中完成这个

var checkCaption = photo.caption?.text ?? 'meh';

相关问题