获取JavaScript对象的长度和键

时间:2014-08-20 15:54:46

标签: javascript json object

我有一个像JavaScript这样的对象:

myobj: "[
        {"id":"2027","street":"street name one"},
        {"id":"2515","street":"street name two"}
       ]"

如何获取此对象中的长度和键列表?

我试过了:

var keys = Object.keys(myobj).length;
console.log(keys);

但它总是返回“1”的长度...为什么?

2 个答案:

答案 0 :(得分:2)

myobj看起来像是一个包含2个元素的数组,它们都有2个属性。如果您想要使用myobj[0]的属性数量:

var myobj = [
    { "id": "2027", "street": "street name one" },
    { "id": "2515", "street": "street name two", "foo": "bar" }
];
console.log(Object.keys(myobj[0]).length); // 2
console.log(Object.keys(myobj[1]).length); // 3
数组上的

Object.keys将返回与其.length属性相同的值。

Object.keys([ "foo", "bar", "baz"]); // 3

答案 1 :(得分:0)

我使用eval解决了。

eval('var obj='+myobj);

得到我做的长度:

var keys = Object.keys(obj).length;
console.log(keys);

循环遍历元素:

for (i = 0; i < keys; i++) {
console.log(obj[i].id);
console.log(obj[i].street);
};