Count Key / Values ​​dans JSON

Duplication possible:
Longueur de Javascript Associative Array

J'ai un JSON qui ressemble à ceci:

Object: www.website1.com : "dogs" www.website2.com : "cats" >__proto__ : Object 

Cela s'imprime lorsque je fais ceci:

 console.log(obj); 

J'essaie d'obtenir le compte des éléments à l'intérieur de ce JSON, obj.length retourne "undefined" et obj [0] .length returns

Uncaught TypeError: Impossible de lire la propriété 'length' of indefined

Je m'attends à ce que la longueur retourne "2" dans ce cas. Comment puis-je trouver le compte?

Merci!

Vous devez les compter vous-même:

 function count(obj) { var count=0; for(var prop in obj) { if (obj.hasOwnProperty(prop)) { ++count; } } return count; } 

Bien que maintenant que j'ai vu le premier commentaire sur la question, il y a une réponse beaucoup plus agréable à cette page. One-liner, probablement aussi vite sinon plus rapide:

 function count(obj) { return Object.keys(obj).length; } 

Attention, le support de Object.keys() ne semble pas encore Object.keys() navigateur.

.length ne fonctionne que sur des tableaux, pas des objets.

 var count = 0; for(var key in json) if(json.hasOwnProperty(key)) count++;