3

我想找到这个 JSON 对象的长度,所以有人告诉我如何获得 JSON 对象的长度……意味着我想知道这个 json 对象包含多少数据。

var ddData = [{ "01":"United States",
                "02":"United Kingdom",
                "03":"Aruba",
                "04":"United Kingdom",
                "05":"Aruba",
                "06":"Bahrain",
                "07":"United Kingdom",
                "08":"Algeria",
                "09":"Andorra",
                "10":"American Samoa",
                "11":"United States"
             }]
4

6 回答 6

11

您可以使用Object.keys方法来获取对象键。
由于 ddData 是一个array,并且第一个索引包含一个对象,您可以这样做:

Object.keys(ddData[0]).length;

但是,Object.keys不适用于旧浏览器

为此,您可以遍历对象并增加一个变量以获取该对象的长度。

var count = 0;
for(var i in ddData[0]) {
    count++;
}
于 2013-01-11T05:48:57.967 回答
4

您可以使用Object.keys 来返回指定集合的​​长度。JS小提琴

(来自此处的浏览器支持)(此处有关 Object.keys 的文档,包括可以添加到非 ECMA5 浏览器的方法)

于 2013-01-11T06:02:18.057 回答
2

你可以简单地这样做而不是调用函数

var key, count = 0;
for(key in ddData[0]) {
  count++;
}

console.log(count + " is size of the json");
于 2013-01-11T05:52:01.460 回答
1
var length=0;
for(attr in ddData[0]){
     length++;
}
于 2013-01-11T05:51:16.480 回答
1
var json = JSON.parse(ddData);
for(i=0;i<json.length;i++)
{
alert(json[i].length);
}
于 2013-01-11T05:51:48.110 回答
0

现在我得到了答案......

var Data = { "01":"United States",
            "02":"United Kingdom",
            "03":"Aruba",
            "04":"United Kingdom",
            "05":"Aruba",
            "06":"Bahrain",
            "07":"United Kingdom",
            "08":"Algeria",
            "09":"Andorra",
            "10":"American Samoa",
            "11":"United States"
         }

var count = 0;
for(x in Data){
    count++;
}
console.log('cnt',count)
于 2013-01-11T06:12:46.067 回答