我正在使用Facebook Graph Api。我正在以json格式获取新的数据页面,当没有更多数据时,我会遇到以下情况:
json对象:
{
"data": [
]
}
如何在javascript中捕获这个空的json?我单独尝试了以下各项但没有成功:
if(json.data[0].length == 0){
alert('empty');
}
if(json.data[0] == ''){
alert('empty');
}
if (json.data.length == 0) {
alert('empty');
}
if (json["data"].length == 0) {
alert('empty');
}
其他详情:
这是我要检查空数据数组的代码。当我从Facebook收到非空的json时,其他一切工作正常。
$.get(url, function(json){
pages[pagenumber+1]=json.paging.next;
//Where I want to check for empty json
$.each(json.data,function(i, data){
$("#thumbnail"+i).attr("src", data.picture);
});
},'jsonp');
更新....!我的解决方案是使用:
if(json.data [0])
答案 0 :(得分:2)
if(json.data.length == 0){
alert('empty');
}
答案 1 :(得分:2)
就像那样:
var json = { "data": [] }
if (json.data.length == 0) {
alert('empty');
}
或那:
var json = { "data": [] }
if (json["data"].length == 0) {
alert('empty');
}
答案 2 :(得分:0)
在此示例中,您需要重新排序语句。不确定您是按此顺序运行它们还是需要执行
if(json.data.length == 0){
alert('empty');
}
在 之前
if(json.data[0].length == 0){
alert('empty');
}
这可能是它不适合你的原因
答案 3 :(得分:0)
解决方案如下:
if (json.data[0]) {
alert('empty');
}
这是我让它工作并实际捕获空数据结构的唯一方法。