305 votes

obtenir la taille de l'objet JSON

J'ai un objet JSON qui est renvoyé par une requête AJAX et j'ai des problèmes avec la fonction .length parce qu'il revient sans cesse undefined . Je me demande juste si je l'utilise correctement :

console.log(data.length);
console.log(data.phones.length);

Ils reviennent tous les deux undefined même s'il s'agit d'objets valides.

Mise à jour :
Exemple de l'objet JSON retourné :

{"reqStatus":true,"phones":{"one":{"number":"XXXXXXXXXX","type":"mobile"},"two":{"number":"XXXXXXXXXX","type":"mobile"}}}

0 votes

Pouvez-vous afficher un échantillon du JSON renvoyé ?

0 votes

Je ne suis pas sûr, ce n'était pas moi. Je pense que votre question est bonne, aussi bien.

5voto

Hafsal Rh Points 121

Essayez ceci

$.parseJSON(data).length

2voto

Mahesh Gawhane Points 279

Utilisez celui-ci

//for getting length of object
 int length = jsonObject.length();

o

//for getting length of array
 int length = jsonArray.length();

-9voto

user2674838 Points 9
$(document).ready(function () {
    $('#count_my_data').click(function () {
        var count = 0;
        while (true) {
             try {
                var v1 = mydata[count].TechnologyId.toString();
                count = count + 1;
            }
            catch (e)
            { break; }
        }
        alert(count);
    });
});

2 votes

Attendre qu'une exception vous indique que votre liste n'a plus d'éléments est une mauvaise idée, et cette approche donnera silencieusement un compte erroné si un élément (même le dernier) manque la balise TechnologyId propriété

2 votes

Ce code est tellement mauvais, que je ne vais même pas commenter davantage. Votez -1 !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X