Javascript:如何捕获一个空的Facebook Graph json对象? - > {“data”:[]}

时间:2011-09-15 09:31:47

标签: javascript json facebook-graph-api

我正在使用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])

4 个答案:

答案 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');
}

这是我让它工作并实际捕获空数据结构的唯一方法。