parse objeto convertir array jquery ajax json

jquery - objeto - json.stringify php



Prueba de un objeto de matriz vacĂ­o en JSON con jQuery (4)

Tengo una solicitud que devuelve un objeto JSON con una única propiedad que es una matriz. ¿Cómo puedo probar si la matriz está vacía?

Con código jQuery como:

$.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"); });

¿Qué puedo poner en lugar de if (data.RoleOwners == []) para probar si RoleOwners es una matriz vacía?

Gracias, Matt


(data.RoleOwners.length === 0)



Una matriz (que también es un objeto) puede tener propiedades no numéricas que no se recogen probando la longitud cero. Necesita iterar a través de las propiedades al igual que probar un objeto vacío. Si no hay propiedades, entonces la matriz está vacía.

function isEmptyObject(obj) { // This works for arrays too. for(var name in obj) { return false } return true }


El siguiente código funciona perfectamente bien sin necesidad de escribir uno propio.

// anyObjectIncludingJSON i tried for JSON object. if(jQuery.isEmptyObject(anyObjectIncludingJSON)) { return; }