Comment vérifier si le retour JSON est vide avec jquery

$.getJSON(url, function(json) {
  var output = '';
  $.each(json, function(i,d) {

    if(d.DESCRIPTION == 'null'){ 
      console.log("Its empty");
    }
    var description = d.DESCRIPTION;
    output += '<tr><td>'+d.NAME+'</td><td>'+'<tr><td>'+d.DESCRIPTION+'</td><td>';
  });
});

j'ai essayé d'ajouter le

if(d.DESCRIPTION == 'null'){ console.log("Its empty"); 

pour vérifier si l'objet renvoyé est vide, mais ça ne fonctionne pas.

Quelqu'un peut-il m'expliquer ce qui ne va pas avec ça?

27
demandé sur comiventor 2013-01-15 23:56:09

5 réponses

juste tester si le tableau est vide.

$.getJSON(url,function(json){
    if ( json.length == 0 ) {
        console.log("NO DATA!")
    }
});
52
répondu Kevin B 2013-01-15 20:22:59

en dessous du code ( jQuery.isEmptyObject (anyObject) la fonction est déjà fournie) fonctionne parfaitement bien, pas besoin d'écrire votre propre.

   // works for any Object Including JSON(key value pair) or Array.
  //  var arr = [];
  //  var jsonObj = {};
    if (jQuery.isEmptyObject(anyObjectIncludingJSON))
    {
       console.log("Empty Object");
    }
59
répondu Arun Pratap Singh 2017-05-25 05:33:32
if (!json[0]) alert("JSON empty");
7
répondu Justin Levene 2014-05-27 17:02:14

Vous pouvez utiliser $.isEmptyObject (json)

https://api.jquery.com/jQuery.isEmptyObject

-1
répondu Hassan ALmasri 2018-03-12 03:27:47
$.getJSON(url,function(json){
if ( json.length == 0 ) 
{
console.log("NO !")
}
});
-2
répondu Ranjith 2015-08-20 10:51:46