获取JSON对象中数组的长度

Get the length of an array within a JSON object

本文关键字:数组 JSON 对象 获取      更新时间:2024-04-25

我想知道JSON对象中有多少项。我见过很多答案,但它们都涉及一个共同的价值观。我希望结果告诉我这个对象中有2个项目。任何帮助都会很棒!

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

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

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

您可以这样做:

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,否则也可能有count als键。

链接:

  • hasOwnProperty

尝试

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

当然,这是一种相当粗糙(而且不可靠)的方法,但如果你只想计算物品数量,这应该很有魅力。