我使用以下javascript。它写得很好,直到它得到一个没有值的结果。在控制台日志中显示此
未捕获的TypeError:无法读取null
的属性“text”
但我的下面的脚本似乎不起作用
var checkCaption = photo.caption.text;
if (checkCaption == null) {
caption = 'meh';
} else {
caption = photo.caption.text;
}
答案 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
}