Javascript: Как поймать пустой объект Facebook Graph json? -> {"данные": []} - PullRequest
0 голосов
/ 15 сентября 2011

Я работаю с Facebook Graph Api.Я получаю новые страницы данных в формате json, и когда больше нет данных, я сталкиваюсь со следующим:

объект json:

{
  "data": [
  ]
}

Как я могу поймать этот пустой json вJavaScript?Я пробовал каждое из следующих действий по отдельности, но безуспешно:

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

Дополнительные сведения:

Это код, в котором я хочу проверить пустой массив данных.Все остальное работает нормально, когда я получаю непустой JSON от Facebook.

$.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 ]

2 голосов
/ 15 сентября 2011

Вот так:

var json = { "data": [] }

if (json.data.length == 0) {
    alert('empty');
}

или что:

var json = { "data": [] }

if (json["data"].length == 0) {
    alert('empty');
}
2 голосов
/ 15 сентября 2011
if(json.data.length == 0){
    alert('empty');
}
0 голосов
/ 16 сентября 2011

Решение состоит в следующем:

if (json.data[0]) {
alert('empty');
}

Это единственный способ заставить его работать и фактически перехватить пустую структуру данных.

0 голосов
/ 15 сентября 2011

В вашем примере здесь вам нужно изменить порядок выписок. Не уверен, что вы запускаете их в этом порядке, но вам нужно сделать

if(json.data.length == 0){
    alert('empty');
}

до вы делаете

if(json.data[0].length == 0){
    alert('empty');
}

Возможно, поэтому он не работает для вас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...