使用jQuery测试JSON中的空数组对象

2021/01/30 01:31 · jquery ·  · 0评论

我有一个返回带有单个属性的JSON对象的请求,该属性是一个数组。如何测试数组是否为空?

使用jQuery代码,例如:

 $.getJSON(
            jsonUrl,
            function(data) {
                if (data.RoleOwners == [ ]) {
                    $('<tr><td>' + noRoleOwnersText + '</td></tr>').appendTo("#roleOwnersTable tbody");
                    return;
                }
                $.each(data.RoleOwners, function(i, roleOwner) {
                    var tblRow =
                    "<tr>"
                    + "<td>" + roleOwner.FirstName + "</td>"
                    + "<td>" + roleOwner.LastName + "</td>"
                    + "</tr>"
                    $(tblRow).appendTo("#roleOwnersTable tbody");
                });

我可以代替if(data.RoleOwners == [])来测试RoleOwners是否为空数组吗?

谢谢,马特

(data.RoleOwners.length === 0)

你也可以 jQuery.isEmptyObject(data.RoleOwners)

查看http://api.jquery.com/jQuery.isEmptyObject/

下面的代码工作得很好,无需编写自己的代码。

   // anyObjectIncludingJSON i tried for JSON object.

         if(jQuery.isEmptyObject(anyObjectIncludingJSON))
            {
                return;
            }

检查一下

JSON.parse(data).length > 0

数组(也是对象)可以具有非数字属性,这些属性不能通过测试零长度来获取。您需要像测试一个空对象一样遍历属性。如果没有属性,则数组为空。

function isEmptyObject(obj) {
   // This works for arrays too.
   for(var name in obj) {
       return false
   }
   return true
}
本文地址:http://jquery.askforanswer.com/shiyongjqueryceshijsonzhongdekongshuzuduixiang.html
文章标签: ,   ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!