我怎样才能找到这个Json对象的长度

时间:2013-01-11 05:44:21

标签: javascript jquery json

我想找到这个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"
             }]

6 个答案:

答案 0 :(得分:9)

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

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

但是,Object.keys不适用于old browsers

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

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

答案 1 :(得分:4)

您可以使用将返回指定集合长度的Object.keyJS Fiddle

(来自here的浏览器支持) (Doc.Object here上的文档,包括您可以添加到非ECMA5浏览器的方法)

答案 2 :(得分:2)

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

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

console.log(count + " is size of the json");

答案 3 :(得分:1)

var length=0;
for(attr in ddData[0]){
     length++;
}

答案 4 :(得分:1)

var json = JSON.parse(ddData);
for(i=0;i<json.length;i++)
{
alert(json[i].length);
}

答案 5 :(得分: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)