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)