获取JSON对象中数组的长度

时间:2013-12-08 16:13:05

标签: javascript arrays json

我想知道我的JSON对象中有多少项。我已经看到了许多答案,但它们都涉及到循环的共同价值。我希望结果告诉我这个对象有2个项目。任何帮助都会很棒!

[{"manager_first_name":"jim","manager_last_name":"gaffigan"}]

3 个答案:

答案 0 :(得分:2)

您可以在较新的浏览器中使用Object.keys。它将返回对象中所有键的数组,该数组将有一个length属性,告诉您对象中有多少项:

var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];

var length = Object.keys(arr[0]).length;

FIDDLE

在非支持的浏览器中,您必须迭代

var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];
var i = 0;

for (var key in arr[0]) i++;

FIDDLE

答案 1 :(得分:0)

你可以这样做:

var arr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}],
length = 0,
obj = arr[0]; // Get first obj from array

for(var k in obj){
    if( obj.hasOwnProperty(k) ) {
        length++;
    }
}
console.log(length); // Shows 2

您应该使用hasOwnProperty,因为您还可以使用函数扩展Object,否则也可能会计算als键。

链接:

答案 2 :(得分:0)

尝试

var jsonArr = [{"manager_first_name":"jim","manager_last_name":"gaffigan"}];
var itemCount = JSON.stringify(jsonArr).split('":"').length - 1;

当然,这是一种相当粗略(且不可靠)的方式,但如果您只想要项目计数,这应该像魅力一样。