Javascript:如何测试响应JSON数组是否为空

我正在取回以下JSON:

{"array":[],"object":null,"bool":false} 

而我正在使用以下看似详尽的if语句对其进行测试:

 $.ajax({ type: "GET", url: "/ajax/rest/siteService/list", dataType: "json", success: function (response) { var siteArray = response.array; // Handle the case where the user may not belong to any groups if (siteArray === null || siteArray=== undefined || siteArray=== '' || siteArray.length === 0) { window.alert('hi'); } } }); 

但警报没有解雇。 :[

使用$ .isArray()检查对象是否为数组。 然后你可以检查length属性的真实性,看它是否为空。

 if( !$.isArray(siteArray) || !siteArray.length ) { //handler either not an array or empty array } 

两个空数组彼此不同,因为它们不是同一个对象。

 var a = []; if (a === []){ // This will never execute } 

使用if (siteArray.length==0)来查看数组是否为空,或者更简单的if (!siteArray.length)